@ton/blueprint 0.32.0 → 0.32.1

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
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.32.1] - 2025-05-06
9
+
10
+ ### Fixed
11
+
12
+ - Fix unexpected code duplication on parralel compile
13
+
8
14
  ## [0.32.0] - 2025-05-02
9
15
 
10
16
  ### Added
package/dist/build.js CHANGED
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildAllTact = exports.buildAll = exports.buildOne = void 0;
6
+ exports.buildOne = buildOne;
7
+ exports.buildAll = buildAll;
8
+ exports.buildAllTact = buildAllTact;
7
9
  const path_1 = __importDefault(require("path"));
8
10
  const promises_1 = __importDefault(require("fs/promises"));
9
11
  const compile_1 = require("./compile/compile");
@@ -67,20 +69,17 @@ async function buildOne(contract, ui) {
67
69
  }
68
70
  }
69
71
  }
70
- exports.buildOne = buildOne;
71
72
  async function buildAll(ui) {
72
73
  for (const file of await (0, utils_1.findCompiles)()) {
73
74
  await buildOne(file.name, ui);
74
75
  }
75
76
  }
76
- exports.buildAll = buildAll;
77
77
  async function buildAllTact(ui) {
78
78
  // TODO: when tact config introduced rewrite to use it
79
79
  for (const file of await (0, utils_1.findCompiles)()) {
80
- const config = await (0, compile_1.extractCompileConfig)(file.path);
80
+ const config = (0, compile_1.extractCompileConfig)(file.path);
81
81
  if (config.lang === 'tact') {
82
82
  await buildOne(file.name, ui);
83
83
  }
84
84
  }
85
85
  }
86
- exports.buildAllTact = buildAllTact;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractFirstArg = exports.argSpec = void 0;
3
+ exports.argSpec = void 0;
4
+ exports.extractFirstArg = extractFirstArg;
4
5
  exports.argSpec = {};
5
6
  function extractFirstArg(args) {
6
7
  return args._.length > 1 && args._[1].trim().length > 0 ? args._[1].trim() : undefined;
7
8
  }
8
- exports.extractFirstArg = extractFirstArg;
package/dist/cli/build.js CHANGED
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.build = exports.selectContract = exports.extractBuildFile = void 0;
6
+ exports.build = void 0;
7
+ exports.extractBuildFile = extractBuildFile;
8
+ exports.selectContract = selectContract;
7
9
  const utils_1 = require("../utils");
8
10
  const arg_1 = __importDefault(require("arg"));
9
11
  const build_1 = require("../build");
@@ -11,7 +13,6 @@ const constants_1 = require("./constants");
11
13
  function extractBuildFile(args) {
12
14
  return args._.length > 1 && args._[1].length > 0 ? args._[1] : undefined;
13
15
  }
14
- exports.extractBuildFile = extractBuildFile;
15
16
  async function selectContract(ui, hint, withAllOption = false) {
16
17
  const compiles = await (0, utils_1.findCompiles)();
17
18
  const contracts = compiles.map(compile => compile.name);
@@ -34,7 +35,6 @@ async function selectContract(ui, hint, withAllOption = false) {
34
35
  }
35
36
  return selectedOption.value;
36
37
  }
37
- exports.selectContract = selectContract;
38
38
  const build = async (args, ui) => {
39
39
  const localArgs = (0, arg_1.default)({
40
40
  '--all': Boolean,
package/dist/cli/cli.js CHANGED
@@ -16,13 +16,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
16
16
  }) : function(o, v) {
17
17
  o["default"] = v;
18
18
  });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
26
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
27
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
28
38
  };
package/dist/cli/help.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.help = exports.buildHelpMessage = exports.additionalHelpMessages = void 0;
3
+ exports.help = exports.additionalHelpMessages = void 0;
4
+ exports.buildHelpMessage = buildHelpMessage;
4
5
  const constants_1 = require("./constants");
5
6
  exports.additionalHelpMessages = {};
6
7
  function buildHelpMessage(cmd = '') {
@@ -13,7 +14,6 @@ function buildHelpMessage(cmd = '') {
13
14
  }
14
15
  return cmd in effectiveHelpMessages ? effectiveHelpMessages[cmd] : effectiveHelpMessages['help'];
15
16
  }
16
- exports.buildHelpMessage = buildHelpMessage;
17
17
  const help = async (args, ui) => {
18
18
  const cmd = args._.length >= 2 ? args._[1].toLowerCase() : '';
19
19
  const helpMessage = buildHelpMessage(cmd);
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { VirtualFileSystem } from '@tact-lang/compiler';
3
2
  export declare class OverwritableVirtualFileSystem implements VirtualFileSystem {
4
3
  root: string;
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  import { Cell } from '@ton/core';
3
2
  import { CompilerConfig, TactCompilerConfig } from './CompilerConfig';
4
3
  export declare function getCompilablesDirectory(): Promise<string>;
5
4
  export declare const COMPILE_END = ".compile.ts";
6
- export declare function extractCompileConfig(path: string): Promise<CompilerConfig>;
5
+ export declare function extractCompileConfig(path: string): CompilerConfig;
7
6
  export declare function getCompilerConfigForContract(name: string): Promise<CompilerConfig>;
8
7
  export type SourceSnapshot = {
9
8
  filename: string;
@@ -15,19 +15,35 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
- var _a, _b;
29
38
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.compile = exports.doCompile = exports.getCompilerOptions = exports.getTactVersion = exports.getCompilerConfigForContract = exports.extractCompileConfig = exports.COMPILE_END = exports.getCompilablesDirectory = void 0;
39
+ exports.COMPILE_END = void 0;
40
+ exports.getCompilablesDirectory = getCompilablesDirectory;
41
+ exports.extractCompileConfig = extractCompileConfig;
42
+ exports.getCompilerConfigForContract = getCompilerConfigForContract;
43
+ exports.getTactVersion = getTactVersion;
44
+ exports.getCompilerOptions = getCompilerOptions;
45
+ exports.doCompile = doCompile;
46
+ exports.compile = compile;
31
47
  const func_js_1 = require("@ton-community/func-js");
32
48
  const fs_1 = require("fs");
33
49
  const path_1 = __importDefault(require("path"));
@@ -44,21 +60,18 @@ async function getCompilablesDirectory() {
44
60
  }
45
61
  return paths_1.WRAPPERS_DIR;
46
62
  }
47
- exports.getCompilablesDirectory = getCompilablesDirectory;
48
63
  exports.COMPILE_END = '.compile.ts';
49
- async function extractCompileConfig(path) {
50
- const mod = await (_a = path, Promise.resolve().then(() => __importStar(require(_a))));
64
+ function extractCompileConfig(path) {
65
+ const mod = require(path);
51
66
  if (typeof mod.compile !== 'object') {
52
67
  throw new Error(`Object 'compile' is missing`);
53
68
  }
54
69
  return mod.compile;
55
70
  }
56
- exports.extractCompileConfig = extractCompileConfig;
57
71
  async function getCompilerConfigForContract(name) {
58
72
  const compilablesDirectory = await getCompilablesDirectory();
59
73
  return extractCompileConfig(path_1.default.join(compilablesDirectory, name + exports.COMPILE_END));
60
74
  }
61
- exports.getCompilerConfigForContract = getCompilerConfigForContract;
62
75
  async function doCompileTolk(config) {
63
76
  const res = await (0, tolk_js_1.runTolkCompiler)(config);
64
77
  if (res.status === 'error') {
@@ -123,10 +136,9 @@ function getRootTactConfigOptionsForContract(name) {
123
136
  }
124
137
  async function getTactVersion() {
125
138
  const packageJsonPath = require.resolve('@tact-lang/compiler/package.json');
126
- const { version } = await (_b = packageJsonPath, Promise.resolve().then(() => __importStar(require(_b))));
139
+ const { version } = await Promise.resolve(`${packageJsonPath}`).then(s => __importStar(require(s)));
127
140
  return version;
128
141
  }
129
- exports.getTactVersion = getTactVersion;
130
142
  async function doCompileTact(config, name) {
131
143
  const rootConfigOptions = getRootTactConfigOptionsForContract(name);
132
144
  const fs = new OverwritableVirtualFileSystem_1.OverwritableVirtualFileSystem(process.cwd());
@@ -190,7 +202,6 @@ async function getCompilerOptions(config) {
190
202
  version: await getCompilerVersion(config),
191
203
  };
192
204
  }
193
- exports.getCompilerOptions = getCompilerOptions;
194
205
  async function doCompile(name, opts) {
195
206
  const config = await getCompilerConfigForContract(name);
196
207
  if (config.preCompileHook !== undefined) {
@@ -206,7 +217,6 @@ async function doCompile(name, opts) {
206
217
  }
207
218
  return res;
208
219
  }
209
- exports.doCompile = doCompile;
210
220
  /**
211
221
  * Compiles a contract using the specified configuration for `tact`, `func`, or `tolk` languages.
212
222
  *
@@ -234,4 +244,3 @@ async function compile(name, opts) {
234
244
  const result = await doCompile(name, opts);
235
245
  return result.code;
236
246
  }
237
- exports.compile = compile;
@@ -15,16 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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 _a;
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
26
35
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.getConfig = void 0;
36
+ exports.getConfig = getConfig;
28
37
  const paths_1 = require("../paths");
29
38
  let config;
30
39
  async function getConfig() {
@@ -32,7 +41,7 @@ async function getConfig() {
32
41
  return config;
33
42
  }
34
43
  try {
35
- const configModule = await (_a = paths_1.BLUEPRINT_CONFIG, Promise.resolve().then(() => __importStar(require(_a))));
44
+ const configModule = await Promise.resolve(`${paths_1.BLUEPRINT_CONFIG}`).then(s => __importStar(require(s)));
36
45
  if (!('config' in configModule) || typeof configModule.config !== 'object') {
37
46
  return undefined;
38
47
  }
@@ -43,4 +52,3 @@ async function getConfig() {
43
52
  return undefined;
44
53
  }
45
54
  }
46
- exports.getConfig = getConfig;
@@ -15,7 +15,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  var _SendProviderSender_provider, _WrappedContractProvider_address, _WrappedContractProvider_provider, _WrappedContractProvider_init, _WrappedContractProvider_factory, _NetworkProviderImpl_tc, _NetworkProviderImpl_sender, _NetworkProviderImpl_network, _NetworkProviderImpl_explorer, _NetworkProviderImpl_ui;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.createNetworkProvider = exports.argSpec = void 0;
18
+ exports.argSpec = void 0;
19
+ exports.createNetworkProvider = createNetworkProvider;
19
20
  const utils_1 = require("../utils");
20
21
  const DeeplinkProvider_1 = require("./send/DeeplinkProvider");
21
22
  const TonConnectProvider_1 = require("./send/TonConnectProvider");
@@ -396,4 +397,3 @@ class NetworkProviderBuilder {
396
397
  async function createNetworkProvider(ui, args, config, allowCustom = true) {
397
398
  return await new NetworkProviderBuilder(args, ui, config, allowCustom).build();
398
399
  }
399
- exports.createNetworkProvider = createNetworkProvider;
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Address, Cell, StateInit } from '@ton/core';
3
2
  import { SendProvider } from './SendProvider';
4
3
  import { UIProvider } from '../../ui/UIProvider';
package/dist/template.js CHANGED
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.executeTemplate = exports.TEMPLATES_DIR = void 0;
6
+ exports.TEMPLATES_DIR = void 0;
7
+ exports.executeTemplate = executeTemplate;
7
8
  const path_1 = __importDefault(require("path"));
8
9
  exports.TEMPLATES_DIR = path_1.default.join(__dirname, 'templates');
9
10
  function executeTemplate(contents, replaces) {
@@ -12,4 +13,3 @@ function executeTemplate(contents, replaces) {
12
13
  }
13
14
  return contents;
14
15
  }
15
- exports.executeTemplate = executeTemplate;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.oneOrZeroOf = void 0;
3
+ exports.oneOrZeroOf = oneOrZeroOf;
4
4
  function oneOrZeroOf(options) {
5
5
  let opt = undefined;
6
6
  for (const k in options) {
@@ -15,4 +15,3 @@ function oneOrZeroOf(options) {
15
15
  }
16
16
  return opt;
17
17
  }
18
- exports.oneOrZeroOf = oneOrZeroOf;
@@ -15,19 +15,30 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
- var _a;
29
38
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.selectFile = exports.selectOption = exports.findScripts = exports.findCompiles = void 0;
39
+ exports.findScripts = exports.findCompiles = void 0;
40
+ exports.selectOption = selectOption;
41
+ exports.selectFile = selectFile;
31
42
  const path_1 = __importDefault(require("path"));
32
43
  const promises_1 = __importDefault(require("fs/promises"));
33
44
  const paths_1 = require("../paths");
@@ -65,7 +76,6 @@ async function selectOption(options, opts) {
65
76
  return await opts.ui.choose(opts.msg, options, (o) => o.name);
66
77
  }
67
78
  }
68
- exports.selectOption = selectOption;
69
79
  async function selectFile(files, opts) {
70
80
  let selected;
71
81
  if (opts.hint) {
@@ -87,7 +97,6 @@ async function selectFile(files, opts) {
87
97
  }
88
98
  return {
89
99
  ...selected,
90
- module: opts.import !== false ? await (_a = selected.path, Promise.resolve().then(() => __importStar(require(_a)))) : undefined,
100
+ module: opts.import !== false ? await Promise.resolve(`${selected.path}`).then(s => __importStar(require(s))) : undefined,
91
101
  };
92
102
  }
93
- exports.selectFile = selectFile;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toPascalCase = exports.isPascalCase = void 0;
3
+ exports.isPascalCase = isPascalCase;
4
+ exports.toPascalCase = toPascalCase;
4
5
  function isPascalCase(str) {
5
6
  return /^[A-Z][a-zA-Z0-9]*$/.test(str);
6
7
  }
7
- exports.isPascalCase = isPascalCase;
8
8
  function toPascalCase(str) {
9
9
  return str
10
10
  .replace(/([a-z])([A-Z])/g, '$1 $2') // Splits camelCase words into separate words
@@ -13,4 +13,3 @@ function toPascalCase(str) {
13
13
  .replace(/(?:^|\s)(\p{L})/gu, (_, letter) => letter.toUpperCase()) // Capitalizes the first letter of each word
14
14
  .replace(/\s+/g, ''); // Removes all spaces
15
15
  }
16
- exports.toPascalCase = toPascalCase;
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sleep = void 0;
3
+ exports.sleep = sleep;
4
4
  function sleep(ms) {
5
5
  return new Promise((resolve) => {
6
6
  setTimeout(resolve, ms);
7
7
  });
8
8
  }
9
- exports.sleep = sleep;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getExplorerLink = exports.tonDeepLink = void 0;
3
+ exports.tonDeepLink = void 0;
4
+ exports.getExplorerLink = getExplorerLink;
4
5
  /**
5
6
  * Generates a TON deep link for transfer.
6
7
  *
@@ -49,4 +50,3 @@ function getExplorerLink(address, network, explorer) {
49
50
  return `https://${networkPrefix}tonviewer.com/${address}`;
50
51
  }
51
52
  }
52
- exports.getExplorerLink = getExplorerLink;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ton/blueprint",
3
- "version": "0.32.0",
3
+ "version": "0.32.1",
4
4
  "description": "Framework for development of TON smart contracts",
5
5
  "main": "dist/index.js",
6
6
  "bin": "./dist/cli/cli.js",
@@ -29,7 +29,7 @@
29
29
  "@types/node": "^20.2.5",
30
30
  "@types/qrcode-terminal": "^0.12.0",
31
31
  "prettier": "^3.0.3",
32
- "typescript": "^4.9.5"
32
+ "typescript": "^5.8.3"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "@tact-lang/compiler": ">=1.6.5",