diff --git a/CHANGELOG.md b/CHANGELOG.md index b8396db57..41d5e7e0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Docs: complete overhaul of the exit codes page: PR [#978](https://github.com/tact-lang/tact/pull/978) - Docs: enhanced Jettons Cookbook page: PR [#944](https://github.com/tact-lang/tact/pull/944) - Error codes in the report are now formatted as a list: PR [#1051](https://github.com/tact-lang/tact/pull/1051) +- Docs: note that `compilables/` can sometimes be used over `wrappers/` in Blueprint projects: PR [#1112](https://github.com/tact-lang/tact/pull/1112) ### Fixed diff --git a/cspell.json b/cspell.json index b48885a05..da482d34d 100644 --- a/cspell.json +++ b/cspell.json @@ -26,6 +26,8 @@ "cleanall", "codegen", "comptime", + "Compilables", + "compilables", "Daniil", "decompilation", "decompile", diff --git a/docs/cspell.json b/docs/cspell.json index 623040802..ef92d9e55 100644 --- a/docs/cspell.json +++ b/docs/cspell.json @@ -21,6 +21,7 @@ "Cheatsheet", "Cheatsheets", "Comptime", + "Compilables", "Daniil", "Decompilation", "Decompiled", @@ -114,6 +115,7 @@ "cleanall", "codegen", "comptime", + "compilables", "decompilation", "decompilation", "decompile", diff --git a/docs/src/content/docs/book/config.mdx b/docs/src/content/docs/book/config.mdx index edd070293..416856a85 100644 --- a/docs/src/content/docs/book/config.mdx +++ b/docs/src/content/docs/book/config.mdx @@ -62,7 +62,7 @@ In [Blueprint][bp], `name` refers to the name of the contract itself. Path to the project's Tact file. You can only specify one Tact file per project. -In [Blueprint][bp], `path` is superseded by the `target` field in `wrappers/ContractName.compile.ts`. +In [Blueprint][bp], `path` is superseded by the `target` field in `wrappers/ContractName.compile.ts` by default, or in `compilables/ContractName.compile.ts` if you have `separateCompilables` the option set in the [`blueprint.config.ts`][bp-config]. ```json filename="tact.config.json" {5} { @@ -97,7 +97,7 @@ In [Blueprint][bp], `output` is not used and all generated files are always plac Compilation options for the project. -In [Blueprint][bp], they act as default unless modified in `wrappers/ContractName.compile.ts`. +In [Blueprint][bp], they act as default unless modified in `wrappers/ContractName.compile.ts` by default, or in `compilables/ContractName.compile.ts` if you have `separateCompilables` the option set in the [`blueprint.config.ts`][bp-config]. ```json filename="tact.config.json" {7,11} { @@ -413,3 +413,4 @@ In [Blueprint][bp], `mode` is always set to `"full"{:json}` and cannot be overwr ``` [bp]: https://github.com/ton-org/blueprint +[bp-config]: https://github.com/ton-org/blueprint/tree/main?tab=readme-ov-file#configuration diff --git a/docs/src/content/docs/book/contracts.mdx b/docs/src/content/docs/book/contracts.mdx index caf2eb503..dfc317fc4 100644 --- a/docs/src/content/docs/book/contracts.mdx +++ b/docs/src/content/docs/book/contracts.mdx @@ -122,6 +122,12 @@ export const compile: CompilerConfig = { In addition to that, [`tact.config.json`](/book/config) may still be used in [Blueprint][bp] projects. In such cases values specified in [`tact.config.json`](/book/config) act as default unless modified in the `wrappers/`. +:::note + + If you have the `separateCompilables` option set to `true{:typescript}` in the [`blueprint.config.ts`][bp-config], then the `.compile.ts` files will be located in the `compilables/` directory and **not** in `wrappers/`. + +::: + :::caution Be aware that adding an interface does not guarantee that the contract actually implements any particular functionality, or that it implements it in any particular way. It's just an off-chain, verifiable promise that a contract _might_ have some specific code in it. It's up to you to trust, but verify, such claims. @@ -352,3 +358,4 @@ contract Functions { [trait]: /book/types#traits [bp]: https://github.com/ton-org/blueprint +[bp-config]: https://github.com/ton-org/blueprint/tree/main?tab=readme-ov-file#configuration diff --git a/docs/src/content/docs/book/debug.mdx b/docs/src/content/docs/book/debug.mdx index fde2420c9..aed09583c 100644 --- a/docs/src/content/docs/book/debug.mdx +++ b/docs/src/content/docs/book/debug.mdx @@ -102,6 +102,12 @@ Note, that versions of [Blueprint][bp] starting with 0.20.0 automatically enable In addition to that, [`tact.config.json`](/book/config) may still be used in [Blueprint][bp] projects. In such cases values specified in [`tact.config.json`](/book/config) act as default unless modified in the `wrappers/`. +:::note + + If you have the `separateCompilables` option set to `true{:typescript}` in the [`blueprint.config.ts`][bp-config], then the `.compile.ts` files will be located in the `compilables/` directory and **not** in `wrappers/`. + +::: + :::note Read more about configuration and [`tact.config.json`](/book/config) file: [Configuration](/book/config).\ @@ -725,5 +731,6 @@ If you're overwhelmed by the testing setup of [Blueprint][bp] or just want to te [tg]: https://t.me/tactlang [bp]: https://github.com/ton-org/blueprint +[bp-config]: https://github.com/ton-org/blueprint/tree/main?tab=readme-ov-file#configuration [sb]: https://github.com/ton-org/sandbox [jest]: https://jestjs.io diff --git a/docs/src/content/docs/book/masterchain.mdx b/docs/src/content/docs/book/masterchain.mdx index 1b1b6f0a8..76c209525 100644 --- a/docs/src/content/docs/book/masterchain.mdx +++ b/docs/src/content/docs/book/masterchain.mdx @@ -47,4 +47,11 @@ export const compile: CompilerConfig = { However, [`tact.config.json`](/book/config) may still be used in [Blueprint][bp] projects. In such cases values specified in [`tact.config.json`](/book/config) act as default unless modified in the `wrappers/`. +:::note + + If you have the `separateCompilables` option set to `true{:typescript}` in the [`blueprint.config.ts`][bp-config], then the `.compile.ts` files will be located in the `compilables/` directory and **not** in `wrappers/`. + +::: + [bp]: https://github.com/ton-org/blueprint +[bp-config]: https://github.com/ton-org/blueprint/tree/main?tab=readme-ov-file#configuration diff --git a/schemas/configSchema.json b/schemas/configSchema.json index 1245a24de..6cf6b5d21 100644 --- a/schemas/configSchema.json +++ b/schemas/configSchema.json @@ -19,7 +19,7 @@ }, "path": { "type": "string", - "description": "Path to the project's Tact file. You can only specify one Tact file per project.\n\nIn Blueprint, `path` is superseded by the `target` field in `wrappers/ContractName.compile.ts`.", + "description": "Path to the project's Tact file. You can only specify one Tact file per project.\n\nIn Blueprint, `path` is superseded by the `target` field in `wrappers/ContractName.compile.ts` by default, or in `compilables/ContractName.compile.ts` if you have `separateCompilables` the option set in the `blueprint.config.ts`.", "examples": ["./path/to/contract.tact"] }, "output": { @@ -29,7 +29,7 @@ }, "options": { "type": "object", - "description": "Compilation options for the project.\n\nIn Blueprint, they act as default unless modified in `wrappers/ContractName.compile.ts`.", + "description": "Compilation options for the project.\n\nIn Blueprint, they act as default unless modified in `wrappers/ContractName.compile.ts` by default, or in `compilables/ContractName.compile.ts` if you have `separateCompilables` the option set in the `blueprint.config.ts`.", "properties": { "debug": { "type": "boolean",