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

Self-hosting the project / dog-fooding #120

Closed
sebinsua opened this issue Oct 1, 2020 · 2 comments
Closed

Self-hosting the project / dog-fooding #120

sebinsua opened this issue Oct 1, 2020 · 2 comments
Labels

Comments

@sebinsua
Copy link
Contributor

sebinsua commented Oct 1, 2020

We should self-host the project and generally dog-food any code that we write within the project.

The philosophical reason for this would be to "taste one's own medicine" but the practical reasons are much stronger:

  • The only way we have to test everything right now is to publish it and then consume the packages as part of an E2E process. This is a very, very slow feedback loop -- and more fragile than I'd like on environment differences or incorrectly written tests, etc.
    • If you're writing test configuration or changing lint rules, we should be able to test these with our own yarn test or yarn lint command in only a few seconds, for example.
    • There should be a way to quickly create a Modular project and app from within this repository. We have all of the logic required to do so within the tests (here and here). There's nothing stopping us from pulling this out into a script that a developer can quickly run within the project.
      • Potentially we could also have a packages/app (marked as "private": true) within the project which would mean people could test changes to modular-scripts without any tiresome initialisation of a new project.
  • Actually, the E2E process itself is slow because there are multiple yarn installs involved in executing create-modular-react-app. Elsewhere we talk about caching yarn installs but we don't do that here which is why these tests take 6+ minutes to run, instead of taking < 1 minute.
    • If we have a performance problem within the project, it makes sense that we should use whatever techniques are appropriate to fix the problem. That would also be a good test that our tools and instructions related to this are good.
  • It's quite weird that we're using different Jest/Lint configurations in this project than the ones we use in the output project. I think this was accidental and we should fix it.
  • We have dependencies within our root package.json which should actually belong to our packages.

This doesn't need to be done immediately: I'm just getting my thoughts down.

@threepointone
Copy link
Contributor

threepointone commented Oct 2, 2020

These are reasonable, well made points.

threepointone added a commit that referenced this issue Nov 11, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 11, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 11, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 11, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details -

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125.
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were:
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project.
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case.
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR.

- I need to implement and write tests for the views macro, as mentioned above.
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so.
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait.

I'm looking for a review so I can start making changes in parallel to the above fixes. Have a look!
threepointone added a commit that referenced this issue Nov 12, 2020
* refactor

This PR is a refactor of the codebase, but without changing (much) functionality. It may seem like a lot, but that's exaggerated by the fact that a lot of it is just moved round. Here are the details - 

- This updates `react-scripts`/`@craco/craco` to support `[email protected]`. As part of that, I've also disabled the in-browser linting experience (dilanx/craco#205). *This is temporary*. I'll enable it when it's fixed on craco's side, but that shouldn't block this PR. This should fix #125. 
- The refactor is mainly around making this repository self-hosted (#120). The steps taken to achieve that were: 
  - e2e-tests were split up and inlined into `modular-scripts` / `create-modular-react-app`, as applicable. This also enabled removing verdaccio and associated complexity.
  - `cra-template-modular-typescript` was inlined into `modular-scripts`; this has the benfit of preventing one waterfall step when adding a new app to a project. 
  - We had a bug where we needed at least one app named `app` for all tests to run, I fixed that. We still need at least one app, but it can be named whatever. (I've named it `modular-site`, and we can use it for experiments, and maybe hosting documentation). In the future we dhsould fix it so it doesn't need any at all, but that's an edge case. 
- I've removed `modular-scripts/src/getModularViewMap`, and will instead implement `modular-views.macro` (#59). I'm working on it right now, but it shouldn't block this PR. 

### caveats 

- I need to implement and write tests for the views macro, as mentioned above. 
- While this runs all tests on CI, it skips one test, the one that starts up a server and tests whether the app works as expected. This is because it still leaves hanging processes, and will eat up our github-actions minutes. Working on fixing it, it's a weird one. (probably related to #54)
- I haven't verified builds yet, will do so. (EDIT: done, looks fine)
- I need to simplify the root configurations for babel/eslint so that it uses the `modular` configs. It's not critical to this PR so I figured it could wait. 
- all tests take about 550s on my 2015 macbook pro. That kinda sucks. A lot of the time is literally just fetching dependencies and installing. We should setup caches for our build, and further use cached versions of dependencies when installing. This is less of a problem now that the repo is public, but still. (EDIT: now under 4 minutes, not bad.)
@threepointone
Copy link
Contributor

Made some progress on this with #132.

@cristiano-belloni cristiano-belloni closed this as not planned Won't fix, can't repro, duplicate, stale Jan 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants