You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Docs package, although deployed to docs.tact-lang.org and not published to npm, requires some Tact compiler functionality.
Each package in the repo (compiler, docs) require their own set of dependencies with some overlap, where cspell is used in both places and requires to be installed in both
Other essential developer tools utilizing the compiler (lsp, formatting, linting*, docgen*) are tough to version, develop and manage since they are not present in the same repo with the compiler, which means that they easily drift away from it and require constant vigilance from users and developers to make sure that compatible versions of each are used together.
Proposed solution
Move all packages (tact compiler, docs) into the newly created workspaces or packages directory.
Make a root of the compiler repo a private: true package designated to control the workspaces.
Set up dependencies in packages (docs): to use @tact-lang/compiler: "*" with yarn doing the rest.
Then, running yarn (i.e. yarn install) would take care of common dependencies AND of cross-dependencies of one "workspace" (package) on another.
Finally, by running yarn workspace WORKSPACE_NAME as a prefix, one could run any yarn command inside any particular workspace while being anywhere in the repo tree.
The text was updated successfully, but these errors were encountered:
novusnota
added
kind: discussion
Ideas that are not fully formed and require discussion
ux
scope: ci
Continuous Integration: GitHub Actions (.github), commit/push hooks (.husky)
kind: docs
Documentation for docs.tact-lang.org kept in docs folder
labels
Nov 15, 2024
Or just using workspaces of Yarn v1.
Current issues
cspell
is used in both places and requires to be installed in bothProposed solution
workspaces
orpackages
directory.private: true
package designated to control the workspaces.@tact-lang/compiler: "*"
withyarn
doing the rest.Then, running
yarn
(i.e.yarn install
) would take care of common dependencies AND of cross-dependencies of one "workspace" (package) on another.Finally, by running
yarn workspace WORKSPACE_NAME
as a prefix, one could run any yarn command inside any particular workspace while being anywhere in the repo tree.The text was updated successfully, but these errors were encountered: