create-ton 0.26.0 → 0.28.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/dist/cli.js CHANGED
@@ -1,205 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
3
  Object.defineProperty(exports, "__esModule", { value: true });
7
- const fs_extra_1 = __importDefault(require("fs-extra"));
8
- const path_1 = __importDefault(require("path"));
9
- const child_process_1 = require("child_process");
10
- const inquirer_1 = __importDefault(require("inquirer"));
11
- const arg_1 = __importDefault(require("arg"));
12
- const chalk_1 = __importDefault(require("chalk"));
13
- const FILES_WITH_NAME_TEMPLATE = ['package.json', 'README.md'];
14
- const NAME_TEMPLATE = '{{name}}';
15
- const VARIANT_CHOICES = [
16
- {
17
- name: 'An empty contract (FunC)',
18
- value: 'func-empty',
19
- },
20
- {
21
- name: 'An empty contract (Tolk)',
22
- value: 'tolk-empty',
23
- },
24
- {
25
- name: 'An empty contract (Tact)',
26
- value: 'tact-empty',
27
- },
28
- {
29
- name: 'A simple counter contract (FunC)',
30
- value: 'func-counter',
31
- },
32
- {
33
- name: 'A simple counter contract (Tolk)',
34
- value: 'tolk-counter',
35
- },
36
- {
37
- name: 'A simple counter contract (Tact)',
38
- value: 'tact-counter',
39
- },
40
- ];
41
- async function main() {
42
- console.log();
43
- const localArgs = (0, arg_1.default)({
44
- '--type': String,
45
- '--contractName': String,
46
- '--no-ci': Boolean, // whether to skip installation of dependendencies, git init
47
- // and creation of the first contract via Blueprint
48
- });
49
- const desiredProjectName = localArgs._[0] ||
50
- (await inquirer_1.default.prompt({
51
- name: 'name',
52
- message: 'Project name',
53
- })).name.trim();
54
- const projectPath = path_1.default.resolve(desiredProjectName);
55
- const name = path_1.default.basename(projectPath);
56
- if (name.length === 0)
57
- throw new Error('Cannot initialize a project with an empty name');
58
- const noCi = localArgs['--no-ci'] ?? false;
59
- const contractName = (noCi ? 'NonExistent' : localArgs['--contractName']) ||
60
- (await inquirer_1.default.prompt({
61
- name: 'contractName',
62
- message: 'First created contract name (PascalCase)',
63
- })).contractName.trim();
64
- if (!noCi) {
65
- if (contractName.length === 0)
66
- throw new Error(`Cannot create a contract with an empty name`);
67
- if (contractName.toLowerCase() === 'contract' || !/^[A-Z][a-zA-Z0-9]*$/.test(contractName))
68
- throw new Error(`Cannot create a contract with the name '${contractName}'`);
69
- }
70
- const argsVariant = VARIANT_CHOICES.map(e => e.value).indexOf(localArgs['--type'] || '') !== -1
71
- ? localArgs['--type']
72
- : undefined;
73
- const variant = (noCi ? 'none' : argsVariant) ||
74
- (await inquirer_1.default.prompt([
75
- {
76
- name: 'variant',
77
- message: 'Choose the project template',
78
- type: 'list',
79
- choices: VARIANT_CHOICES,
80
- },
81
- ])).variant;
82
- await fs_extra_1.default.mkdir(projectPath, {
83
- recursive: true,
84
- });
85
- const steps = noCi ? 2 : 3;
86
- console.log(`\n[1/${steps}] Copying files...`);
87
- const basePath = path_1.default.join(__dirname, 'template');
88
- for (const file of await fs_extra_1.default.readdir(basePath)) {
89
- if (FILES_WITH_NAME_TEMPLATE.includes(file))
90
- continue;
91
- await fs_extra_1.default.copy(path_1.default.join(basePath, file), path_1.default.join(projectPath, file));
92
- }
93
- await fs_extra_1.default.writeFile(path_1.default.join(projectPath, '.gitignore'), `node_modules
94
- temp
95
- build
96
- dist
97
- .DS_Store
98
- package.ts
99
-
100
- # VS Code
101
- .vscode/*
102
- .history/
103
- *.vsix
104
-
105
- # IDEA files
106
- .idea
107
-
108
- # VIM
109
- Session.vim
110
- .vim/
111
-
112
- # Other private editor folders
113
- .nvim/
114
- .emacs/
115
- .helix/
116
- `);
117
- for (const file of FILES_WITH_NAME_TEMPLATE) {
118
- await fs_extra_1.default.writeFile(path_1.default.join(projectPath, file), (await fs_extra_1.default.readFile(path_1.default.join(basePath, file))).toString().replace(NAME_TEMPLATE, name));
119
- }
120
- if (noCi) {
121
- console.log(`[2/${steps}] Skipping dependencies, git init and contract creation...\n`);
122
- printResultingUsageDetails(desiredProjectName, noCi);
123
- return;
124
- }
125
- else {
126
- console.log(`[2/${steps}] Installing dependencies...\n`);
127
- }
128
- const execOpts = {
129
- stdio: 'inherit',
130
- cwd: projectPath,
131
- };
132
- const pkgManager = (process.env.npm_config_user_agent ?? 'npm/').split(' ')[0].split('/')[0];
133
- switch (pkgManager) {
134
- case 'yarn':
135
- (0, child_process_1.execSync)('yarn', execOpts);
136
- break;
137
- case 'pnpm':
138
- (0, child_process_1.execSync)('pnpm install', execOpts);
139
- break;
140
- case 'bun':
141
- (0, child_process_1.execSync)('bun install', execOpts);
142
- break;
143
- default:
144
- (0, child_process_1.execSync)('npm install --ignore-scripts', execOpts);
145
- break;
146
- }
147
- console.log(`\n[3/${steps}] Creating your first contract...`);
148
- let execCommand = 'npm exec';
149
- switch (pkgManager) {
150
- case 'yarn':
151
- execCommand = 'yarn run';
152
- break;
153
- case 'pnpm':
154
- execCommand = 'pnpm exec';
155
- break;
156
- case 'bun':
157
- execCommand = 'bun x';
158
- break;
159
- }
160
- (0, child_process_1.execSync)(`${execCommand} blueprint${pkgManager !== 'npm' ? '' : ' --'} create ${contractName} --type ${variant}`, execOpts);
161
- try {
162
- (0, child_process_1.execSync)('git init', execOpts);
163
- }
164
- catch (e) {
165
- console.error('Failed to initialize git repository:', e.toString());
166
- }
167
- printResultingUsageDetails(desiredProjectName, noCi);
168
- }
169
- function printResultingUsageDetails(desiredProjectName, noCi) {
170
- console.log(`Success!`);
171
- console.log(chalk_1.default.blueBright(`
172
- ____ _ _ _ _____ ____ ____ ___ _ _ _____
173
- | __ )| | | | | | ____| _ \\| _ \\|_ _| \\ | |_ _|
174
- | _ \\| | | | | | _| | |_) | |_) || || \\| | | |
175
- | |_) | |__| |_| | |___| __/| _ < | || |\\ | | |
176
- |____/|_____\\___/|_____|_| |_| \\_\\___|_| \\_| |_| `));
177
- console.log(chalk_1.default.blue(` TON development for professionals`));
178
- console.log(``);
179
- if (noCi) {
180
- console.log(`Your new project is almost ready!`);
181
- console.log(`Install dependencies before running available commands:`);
182
- }
183
- else {
184
- console.log(`Your new project is ready, available commands:`);
185
- }
186
- console.log(``);
187
- console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`cd ${desiredProjectName}`));
188
- console.log(` change directory to your new project`);
189
- console.log(``);
190
- console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`npx blueprint build`));
191
- console.log(` choose a smart contract and build it`);
192
- console.log(``);
193
- console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`npx blueprint test`));
194
- console.log(` run the default project test suite`);
195
- console.log(``);
196
- console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`npx blueprint run`));
197
- console.log(` choose a script and run it (e.g., a deploy script)`);
198
- console.log(``);
199
- console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`npx blueprint create AnotherContract`));
200
- console.log(` create a new contract and all related necessary files`);
201
- console.log(``);
202
- console.log(`For help and docs visit https://github.com/ton-community/blueprint`);
203
- console.log(``);
204
- }
205
- main().catch(console.error);
4
+ const main_1 = require("./main");
5
+ (0, main_1.main)().catch(console.error);
package/dist/main.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function main(): Promise<void>;
package/dist/main.js ADDED
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.main = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const child_process_1 = require("child_process");
9
+ const fs_extra_1 = __importDefault(require("fs-extra"));
10
+ const inquirer_1 = __importDefault(require("inquirer"));
11
+ const arg_1 = __importDefault(require("arg"));
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const FILES_WITH_NAME_TEMPLATE = ['package.json', 'README.md'];
14
+ const NAME_TEMPLATE = '{{name}}';
15
+ const VARIANT_CHOICES = [
16
+ {
17
+ name: 'An empty contract (FunC)',
18
+ value: 'func-empty',
19
+ },
20
+ {
21
+ name: 'An empty contract (Tolk)',
22
+ value: 'tolk-empty',
23
+ },
24
+ {
25
+ name: 'An empty contract (Tact)',
26
+ value: 'tact-empty',
27
+ },
28
+ {
29
+ name: 'A simple counter contract (FunC)',
30
+ value: 'func-counter',
31
+ },
32
+ {
33
+ name: 'A simple counter contract (Tolk)',
34
+ value: 'tolk-counter',
35
+ },
36
+ {
37
+ name: 'A simple counter contract (Tact)',
38
+ value: 'tact-counter',
39
+ },
40
+ ];
41
+ async function main() {
42
+ console.log();
43
+ const localArgs = (0, arg_1.default)({
44
+ '--type': String,
45
+ '--contractName': String,
46
+ '--no-ci': Boolean, // whether to skip installation of dependendencies, git init
47
+ // and creation of the first contract via Blueprint
48
+ });
49
+ const desiredProjectName = localArgs._[0] ||
50
+ (await inquirer_1.default.prompt({
51
+ name: 'name',
52
+ message: 'Project name',
53
+ })).name.trim();
54
+ const projectPath = path_1.default.resolve(desiredProjectName);
55
+ const name = path_1.default.basename(projectPath);
56
+ if (name.length === 0)
57
+ throw new Error('Cannot initialize a project with an empty name');
58
+ const noCi = localArgs['--no-ci'] ?? false;
59
+ const contractName = (noCi ? 'NonExistent' : localArgs['--contractName']) ||
60
+ (await inquirer_1.default.prompt({
61
+ name: 'contractName',
62
+ message: 'First created contract name (PascalCase)',
63
+ })).contractName.trim();
64
+ if (!noCi) {
65
+ if (contractName.length === 0)
66
+ throw new Error(`Cannot create a contract with an empty name`);
67
+ if (contractName.toLowerCase() === 'contract' || !/^[A-Z][a-zA-Z0-9]*$/.test(contractName))
68
+ throw new Error(`Cannot create a contract with the name '${contractName}'`);
69
+ }
70
+ const argsVariant = VARIANT_CHOICES.map((e) => e.value).indexOf(localArgs['--type'] || '') !== -1 ? localArgs['--type'] : undefined;
71
+ const variant = (noCi ? 'none' : argsVariant) ||
72
+ (await inquirer_1.default.prompt([
73
+ {
74
+ name: 'variant',
75
+ message: 'Choose the project template',
76
+ type: 'list',
77
+ choices: VARIANT_CHOICES,
78
+ },
79
+ ])).variant;
80
+ await fs_extra_1.default.mkdir(projectPath, {
81
+ recursive: true,
82
+ });
83
+ const steps = noCi ? 2 : 3;
84
+ console.log(`\n[1/${steps}] Copying files...`);
85
+ const basePath = path_1.default.join(__dirname, 'template');
86
+ for (const file of await fs_extra_1.default.readdir(basePath)) {
87
+ if (FILES_WITH_NAME_TEMPLATE.includes(file))
88
+ continue;
89
+ await fs_extra_1.default.copy(path_1.default.join(basePath, file), path_1.default.join(projectPath, file));
90
+ }
91
+ await fs_extra_1.default.writeFile(path_1.default.join(projectPath, '.gitignore'), `node_modules
92
+ temp
93
+ build
94
+ dist
95
+ .DS_Store
96
+ package.ts
97
+
98
+ # VS Code
99
+ .vscode/*
100
+ .history/
101
+ *.vsix
102
+
103
+ # IDEA files
104
+ .idea
105
+
106
+ # VIM
107
+ Session.vim
108
+ .vim/
109
+
110
+ # Other private editor folders
111
+ .nvim/
112
+ .emacs/
113
+ .helix/
114
+ `);
115
+ for (const file of FILES_WITH_NAME_TEMPLATE) {
116
+ await fs_extra_1.default.writeFile(path_1.default.join(projectPath, file), (await fs_extra_1.default.readFile(path_1.default.join(basePath, file))).toString().replace(NAME_TEMPLATE, name));
117
+ }
118
+ if (noCi) {
119
+ console.log(`[2/${steps}] Skipping dependencies, git init and contract creation...\n`);
120
+ printResultingUsageDetails(desiredProjectName, noCi);
121
+ return;
122
+ }
123
+ else {
124
+ console.log(`[2/${steps}] Installing dependencies...\n`);
125
+ }
126
+ const execOpts = {
127
+ stdio: 'inherit',
128
+ cwd: projectPath,
129
+ };
130
+ const pkgManager = (process.env.npm_config_user_agent ?? 'npm/').split(' ')[0].split('/')[0];
131
+ switch (pkgManager) {
132
+ case 'yarn':
133
+ (0, child_process_1.execSync)('yarn', execOpts);
134
+ break;
135
+ case 'pnpm':
136
+ (0, child_process_1.execSync)('pnpm install', execOpts);
137
+ break;
138
+ case 'bun':
139
+ (0, child_process_1.execSync)('bun install', execOpts);
140
+ break;
141
+ default:
142
+ (0, child_process_1.execSync)('npm install --ignore-scripts', execOpts);
143
+ break;
144
+ }
145
+ console.log(`\n[3/${steps}] Creating your first contract...`);
146
+ let execCommand = 'npm exec';
147
+ switch (pkgManager) {
148
+ case 'yarn':
149
+ execCommand = 'yarn run';
150
+ break;
151
+ case 'pnpm':
152
+ execCommand = 'pnpm exec';
153
+ break;
154
+ case 'bun':
155
+ execCommand = 'bun x';
156
+ break;
157
+ }
158
+ (0, child_process_1.execSync)(`${execCommand} blueprint${pkgManager !== 'npm' ? '' : ' --'} create ${contractName} --type ${variant}`, execOpts);
159
+ try {
160
+ (0, child_process_1.execSync)('git init', execOpts);
161
+ }
162
+ catch (e) {
163
+ if (e instanceof Error) {
164
+ console.error('Failed to initialize git repository:', e.message);
165
+ }
166
+ else {
167
+ console.error('Failed to initialize git repository:', String(e));
168
+ }
169
+ }
170
+ printResultingUsageDetails(desiredProjectName, noCi);
171
+ }
172
+ exports.main = main;
173
+ function printResultingUsageDetails(desiredProjectName, noCi) {
174
+ console.log(`Success!`);
175
+ console.log(chalk_1.default.blueBright(`
176
+ ____ _ _ _ _____ ____ ____ ___ _ _ _____
177
+ | __ )| | | | | | ____| _ \\| _ \\|_ _| \\ | |_ _|
178
+ | _ \\| | | | | | _| | |_) | |_) || || \\| | | |
179
+ | |_) | |__| |_| | |___| __/| _ < | || |\\ | | |
180
+ |____/|_____\\___/|_____|_| |_| \\_\\___|_| \\_| |_| `));
181
+ console.log(chalk_1.default.blue(` TON development for professionals`));
182
+ console.log(``);
183
+ if (noCi) {
184
+ console.log(`Your new project is almost ready!`);
185
+ console.log(`Install dependencies before running available commands:`);
186
+ }
187
+ else {
188
+ console.log(`Your new project is ready, available commands:`);
189
+ }
190
+ console.log(``);
191
+ console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`cd ${desiredProjectName}`));
192
+ console.log(` change directory to your new project`);
193
+ console.log(``);
194
+ console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`npx blueprint build`));
195
+ console.log(` choose a smart contract and build it`);
196
+ console.log(``);
197
+ console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`npx blueprint test`));
198
+ console.log(` run the default project test suite`);
199
+ console.log(``);
200
+ console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`npx blueprint run`));
201
+ console.log(` choose a script and run it (e.g., a deploy script)`);
202
+ console.log(``);
203
+ console.log(chalk_1.default.greenBright(` > `) + chalk_1.default.cyanBright(`npx blueprint create AnotherContract`));
204
+ console.log(` create a new contract and all related necessary files`);
205
+ console.log(``);
206
+ console.log(`For help and docs visit https://github.com/ton-community/blueprint`);
207
+ console.log(``);
208
+ }
@@ -6,11 +6,7 @@ const config: Config = {
6
6
  cache: false, // disabled caching to prevent old Tact files from being used after a rebuild
7
7
  testEnvironment: '@ton/sandbox/jest-environment',
8
8
  testPathIgnorePatterns: ['/node_modules/', '/dist/'],
9
- reporters: [
10
- 'default',
11
- ['@ton/sandbox/jest-reporter', {
12
- }],
13
- ]
9
+ reporters: ['default', ['@ton/sandbox/jest-reporter', {}]],
14
10
  };
15
11
 
16
12
  export default config;
@@ -12,20 +12,20 @@
12
12
  "@ton/core": "~0"
13
13
  },
14
14
  "devDependencies": {
15
- "@ton/blueprint": ">=0.34.0",
16
- "@ton/sandbox": ">=0.31.0",
17
- "@ton/test-utils": ">=0.6.0",
15
+ "@ton/blueprint": ">=0.36.0",
16
+ "@ton/sandbox": ">=0.33.0",
17
+ "@ton/test-utils": ">=0.8.0",
18
18
  "@types/jest": "^29.5.14",
19
- "@types/node": "^22.14.1",
19
+ "@types/node": "^22.15.32",
20
20
  "jest": "^29.7.0",
21
21
  "prettier": "^3.5.3",
22
22
  "@ton/ton": ">=15.2.1 <16.0.0",
23
23
  "@ton/crypto": "^3.3.0",
24
- "ts-jest": "^29.3.2",
24
+ "ts-jest": "^29.4.0",
25
25
  "ts-node": "^10.9.2",
26
26
  "typescript": "^5.8.3",
27
- "@ton/tolk-js": ">=0.12.0",
28
- "@tact-lang/compiler": ">=1.6.10 <2.0.0",
27
+ "@ton/tolk-js": ">=0.99.0",
28
+ "@tact-lang/compiler": ">=1.6.13 <2.0.0",
29
29
  "@ton-community/func-js": ">=0.9.1"
30
30
  }
31
31
  }
package/package.json CHANGED
@@ -1,32 +1,41 @@
1
1
  {
2
- "name": "create-ton",
3
- "version": "0.26.0",
4
- "license": "MIT",
5
- "description": "Tool to quickly create TON projects",
6
- "author": "TonTech",
7
- "repository": {
8
- "type": "git",
9
- "url": "git+https://github.com/ton-org/create-ton.git"
10
- },
11
- "files": [
12
- "dist/**/*"
13
- ],
14
- "bin": "./dist/cli.js",
15
- "scripts": {
16
- "build": "rm -rf dist && tsc && cp -r template dist/template"
17
- },
18
- "devDependencies": {
19
- "@types/fs-extra": "^11.0.1",
20
- "@types/inquirer": "^8.2.6",
21
- "@types/node": "^20.2.5",
22
- "prettier": "^2.8.8",
23
- "typescript": "^4.9.5"
24
- },
25
- "dependencies": {
26
- "arg": "^5.0.2",
27
- "chalk": "^4.1.0",
28
- "fs-extra": "^11.1.1",
29
- "inquirer": "^8.2.5"
30
- },
31
- "packageManager": "yarn@3.6.1"
32
- }
2
+ "name": "create-ton",
3
+ "version": "0.28.0",
4
+ "license": "MIT",
5
+ "description": "Tool to quickly create TON projects",
6
+ "author": "TonTech",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/ton-org/create-ton.git"
10
+ },
11
+ "files": [
12
+ "dist/**/*"
13
+ ],
14
+ "bin": "./dist/cli.js",
15
+ "prettier": "@ton/toolchain/prettier",
16
+ "scripts": {
17
+ "lint": "eslint . --max-warnings 0",
18
+ "lint:fix": "eslint . --max-warnings 0 --fix",
19
+ "test": "jest src",
20
+ "build": "rm -rf dist && tsc && cp -r template dist/template"
21
+ },
22
+ "devDependencies": {
23
+ "@ton/toolchain": "the-ton-tech/toolchain#v1.4.0",
24
+ "@types/fs-extra": "^11.0.1",
25
+ "@types/inquirer": "^8.2.6",
26
+ "@types/jest": "^29.5.14",
27
+ "@types/node": "^20.2.5",
28
+ "eslint": "^9.28.0",
29
+ "jest": "^30.0.0",
30
+ "prettier": "^3.5.3",
31
+ "ts-jest": "^29.3.4",
32
+ "typescript": "^4.9.5"
33
+ },
34
+ "dependencies": {
35
+ "arg": "^5.0.2",
36
+ "chalk": "^4.1.0",
37
+ "fs-extra": "^11.1.1",
38
+ "inquirer": "^8.2.5"
39
+ },
40
+ "packageManager": "yarn@3.6.1"
41
+ }
package/CHANGELOG.md DELETED
@@ -1,287 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [0.26.0] - 2025-05-20
9
-
10
- ### Changed
11
-
12
- - Template now uses `@ton/sandbox/jest-environment` and `@ton/sandbox/jest-reporter` in jest config for the new `blueprint snapshot` and `blueprint test --gas-report` features
13
- - Update template to allow wrappers publishing
14
-
15
- ## [0.25.0] - 2025-05-16
16
-
17
- ### Changed
18
-
19
- - Updated template dependencies
20
-
21
- ## [0.24.0] - 2025-05-02
22
-
23
- ### Added
24
-
25
- - Tact contracts are now built before test run
26
-
27
- ### Changed
28
-
29
- - Updated template dependencies
30
-
31
- ## [0.23.0] - 2025-04-24
32
-
33
- ### Changed
34
-
35
- - Updated template dependencies
36
-
37
- ## [0.22.0] - 2025-04-09
38
-
39
- ### Added
40
-
41
- - Added flag `--no-ci` to skip installation of dependencies, git init and creation of the first contract via Blueprint
42
-
43
- ### Changed
44
-
45
- - Updated template dependencies
46
-
47
- ## [0.21.0] - 2025-03-02
48
-
49
- ### Changed
50
-
51
- - Updated template dependencies
52
-
53
- ## [0.20.0] - 2025-01-17
54
-
55
- ### Changed
56
-
57
- - Updated template dependencies
58
- - Compiler dependencies are now explicitly installed, allowing end users to use their preferred versions of compilers
59
-
60
- ## [0.19.0] - 2024-12-18
61
-
62
- ### Changed
63
-
64
- - Updated template dependencies
65
-
66
- ## [0.18.1] - 2024-11-03
67
-
68
- ### Fixed
69
-
70
- - Rebuilt the package
71
-
72
- ## [0.18.0] - 2024-11-03
73
-
74
- ### Added
75
-
76
- - Added support for Tolk, the new TON programming language
77
-
78
- ### Changed
79
-
80
- - Updated template dependencies
81
-
82
- ## [0.17.0] - 2024-09-17
83
-
84
- ### Fixed
85
-
86
- - Fixed creation of new projects with `npm` via `--ignore-scripts` option
87
-
88
- ### Changed
89
-
90
- - Updated template dependencies
91
-
92
- ## [0.16.0] - 2024-09-16
93
-
94
- ### Changed
95
-
96
- - Updated template dependencies
97
-
98
- ## [0.15.0] - 2024-07-12
99
-
100
- ### Added
101
-
102
- - Added Bun support
103
-
104
- ### Changed
105
-
106
- - Updated template .gitignore
107
- - Updated template dependencies
108
-
109
- ## [0.14.0] - 2024-05-27
110
-
111
- ### Changed
112
-
113
- - Updated template dependencies
114
-
115
- ## [0.13.0] - 2024-03-27
116
-
117
- ### Changed
118
-
119
- - Updated template dependencies
120
-
121
- ## [0.12.0] - 2024-03-13
122
-
123
- ### Changed
124
-
125
- - Updated template dependencies
126
-
127
- ## [0.11.1] - 2024-02-24
128
-
129
- ### Changed
130
-
131
- - Set template's @ton/core version to `~0`
132
- - Updated template dependencies
133
-
134
- ## [0.11.0] - 2024-01-26
135
-
136
- ### Changed
137
-
138
- - Updated template dependencies: blueprint, sandbox, others to their latest versions
139
-
140
- ## [0.10.0] - 2023-12-01
141
-
142
- ### Changed
143
-
144
- - Updated template dependencies: blueprint, sandbox, test-utils, ton, ton-core, ton-crypto to their latest @ton versions
145
-
146
- ## [0.9.0] - 2023-08-28
147
-
148
- ### Removed
149
-
150
- - Removed flag `--path`
151
-
152
- ### Changed
153
-
154
- - The project name (asked interactively or passed in CLI non-interactively) is now resolved as a path to get the full project path, and the basename (last segment) of that path is taken as the actual project name. For example, running `create-ton .` in a directory named `test-project` will create the project in that very directory (without creating any subdirectories) with the name `test-project`
155
-
156
- ## [0.8.0] - 2023-08-28
157
-
158
- ### Added
159
-
160
- - Added flag `--path` to specify where the project should be initialized, defaults to the project name
161
-
162
- ## [0.7.0] - 2023-08-20
163
-
164
- ### Changed
165
-
166
- - Changed template ton-core dependency to ^0.51.0, ton to ~13.6.0, which fixes dependency tree problems
167
-
168
- ## [0.6.0] - 2023-08-08
169
-
170
- ### Added
171
-
172
- - Added flags `--contractName` and `--type` to allow fully non-interactive runs
173
- - Added scripts `start` and `build` to the template
174
-
175
- ### Changed
176
-
177
- - Updated blueprint to 0.12.0, test-utils to 0.3.0
178
-
179
- ### Removed
180
-
181
- - Removed license from the template
182
-
183
- ## [0.5.0] - 2023-06-06
184
-
185
- ### Changed
186
-
187
- - Updated template's jest config to ignore the `dist` directory
188
- - Updated template dependencies: blueprint to 0.10.0, sandbox to 0.11.0
189
- - Updated dependencies
190
-
191
- ## [0.4.0] - 2023-05-04
192
-
193
- ### Changed
194
-
195
- - Updated template readme
196
- - Updated template jest config to use TypeScript
197
- - Updated dependencies: blueprint to 0.9.0, sandbox to 0.10.0
198
-
199
- ## [0.3.0] - 2023-04-07
200
-
201
- ### Changed
202
-
203
- - Updated template dependencies: blueprint to 0.8.0, sandbox to 0.8.0, ton-core to 0.49.0
204
- - Updated dependencies
205
-
206
- ### Fixed
207
-
208
- - Fixed duplicate contract type question when using pnpm
209
-
210
- ## [0.2.0] - 2023-03-27
211
-
212
- ### Added
213
-
214
- - Added the ability to pass project name as a command line argument
215
-
216
- ### Changed
217
-
218
- - Dependencies of newly created projects are now installed using the package manager that is used to invoke create-ton
219
- - Updated template dependencies' versions: blueprint to 0.6.1, sandbox to 0.7.0
220
-
221
- ## [0.1.0] - 2023-03-21
222
-
223
- ### Added
224
-
225
- - Added support for [TACT](https://github.com/tact-lang/tact), including TACT smart contract templates
226
- - Added `.prettierignore` to template to ignore generated TACT files
227
-
228
- ### Changed
229
-
230
- - Updated template dependencies, including blueprint to 0.6.0, sandbox to 0.6.1, test-utils to 0.2.0
231
- - Edited template's `README.md`
232
- - Changed template's `.gitignore` to contain a newline at the end
233
- - Updated dependencies
234
-
235
- ### Removed
236
-
237
- - Removed dubious `LICENSE` file from template
238
-
239
- ## [0.0.11] - 2023-03-02
240
-
241
- ### Changed
242
-
243
- - Updated template dependencies' versions: blueprint to 0.4.1, sandbox to 0.5.1, ton to 13.4.1, ton-core to 0.48.0
244
-
245
- ## [0.0.10] - 2023-02-27
246
-
247
- ### Added
248
-
249
- - Added a check for exceptions for git repository initialization
250
-
251
- ### Changed
252
-
253
- - Bumped sandbox version to 0.5.0
254
- - Bumped blueprint version to 0.3.0
255
- - Bumped ton-core version to 0.47.1
256
-
257
- ## [0.0.9] - 2023-02-09
258
-
259
- ### Added
260
-
261
- - Added a hint to indicate that contract names must be PascalCase, and a restriction that contract names must start with a capital letter
262
-
263
- ### Fixed
264
-
265
- - Added back stdlib.fc to the template so that newly created projects can be built, tested and deployed immediately
266
-
267
- ### Changed
268
-
269
- - Made some minor changes to the CLI instructions after creating a new project
270
- - Bumped sandbox version to 0.4.0
271
- - Bumped blueprint version to 0.2.0
272
-
273
- ## [0.0.8] - 2023-02-05
274
-
275
- ### Changed
276
-
277
- - Bumped sandbox version to 0.3.0
278
-
279
- ## [0.0.7] - 2023-02-03
280
-
281
- ### Added
282
-
283
- - CLI now asks for contract name to be created first
284
-
285
- ### Changed
286
-
287
- - Contract template files are no longer stored in this package, templates from [blueprint](https://github.com/ton-community/blueprint) are now used instead