Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

consider not using workspaces #30

Open
srele96 opened this issue Jun 10, 2022 · 5 comments
Open

consider not using workspaces #30

srele96 opened this issue Jun 10, 2022 · 5 comments

Comments

@srele96
Copy link
Owner

srele96 commented Jun 10, 2022

yarn workspaces are used for monolithic repository

Previous migration: #11

After two months of usage, I can say the following:

  • WebStorm autocomplete doesn't support packages. When I started working on graphql, WebStorm couldn't find the type declaration file.
  • Navigating to a repository and running npm install was never an issue.
  • I can share prettier, husky, and other configurations without monorepo.
  • I feel like I'm using monorepo the wrong way. My experiments aren't packages.
  • I don't feel the benefits of monorepo.

Concerns

How to use a monolithic repository for projects? The current approach doesn't feel right. None of my workspaces share anything in common. I had to create projects in a separate repository. They weren't compatible with this one because I didn't want conflicting node modules. I have to reconsider my approach.

Goals

Read about monolithic repositories, use cases, benefits, and experiences.

@srele96
Copy link
Owner Author

srele96 commented Jun 18, 2022

Update:

After using non-workspace directories for research I noticed the following:

  • Less commands to add dependencies I had to run yarn workspace <workspace_name> add <dependency>
  • Formatter still works
  • Git-Hooks still work
  • For now, feels much better

I ask myself again. Why did I start using workspaces?

@srele96
Copy link
Owner Author

srele96 commented Jul 26, 2022

  • It appears that react has fixtures directory. There are runnable samples, much like my experiments.
  • NodeJS is C++ and JavaScript repository - https://github.com/nodejs/node
  • Google multilanguage repository
  • Try to navigate and read my repository.
    • Is it pleasant to read?
    • Is it easy to navigate?
    • Ask a friend to try to navigate and ask for opinion.

@srele96
Copy link
Owner Author

srele96 commented Aug 7, 2022

Each programming language could have shared basesettings

  • formatter
  • linter
  • others? should i consider them?

@srele96
Copy link
Owner Author

srele96 commented Aug 12, 2022

  • Each programming language should live in its directory.
  • Each programming language that requires shared settings, those can be set up in its directory.
  • All rules that we need to apply for whole sk-experiments, should live in CI and prevent merge when not fulfilled.
    • Applies to formatter, linters, or any other.

@srele96
Copy link
Owner Author

srele96 commented Aug 14, 2022

Questions:

  • Which files are shared configuration files?

An idea for project structure:

.github
.editorconfig
README.md
(...shared_config_files)
experiments
  README.md
  cpp
    docs
    (...shared_config_files)
    experiment_one
    experiment_two
  javascript
    docs
    (...shared_config_files)
    experiment_one
    experiment_two
  typescript
  python

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant