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

⚡️(frontend) lib-common live transpiling #2164

Merged
merged 6 commits into from
Apr 3, 2023

Conversation

AntoLC
Copy link
Contributor

@AntoLC AntoLC commented Mar 31, 2023

Purpose

Improve development process by not having to rebuild our packages after a change.
We will listen our packages from our applications and transpile automatically when a change happen.

Proposal

  • adapt lib_common with the new setup
  • remove rollup from lib_common
  • plug lib_common to apps and packages
  • replace build-lib with install-front-dependencies job from CI

@AntoLC AntoLC self-assigned this Mar 31, 2023
@AntoLC AntoLC changed the base branch from master to feature/anthony/lib-tests/transpile-on-the-fly March 31, 2023 12:57
@AntoLC AntoLC force-pushed the feature/anthony/lib-common/transpile-on-the-fly branch from 0a02fe6 to 3da766e Compare March 31, 2023 14:22
@AntoLC AntoLC force-pushed the feature/anthony/lib-tests/transpile-on-the-fly branch 2 times, most recently from b6a7a13 to fc20f05 Compare March 31, 2023 15:29
@AntoLC AntoLC force-pushed the feature/anthony/lib-common/transpile-on-the-fly branch from 3da766e to 1b6d99c Compare March 31, 2023 15:32
@AntoLC AntoLC force-pushed the feature/anthony/lib-tests/transpile-on-the-fly branch 5 times, most recently from 5ae3ab2 to e6b1244 Compare April 3, 2023 08:33
@AntoLC AntoLC force-pushed the feature/anthony/lib-common/transpile-on-the-fly branch from 1b6d99c to 1e3ad23 Compare April 3, 2023 08:44
@AntoLC AntoLC force-pushed the feature/anthony/lib-tests/transpile-on-the-fly branch 2 times, most recently from 70fcd6b to 34d46bd Compare April 3, 2023 08:51
@AntoLC AntoLC force-pushed the feature/anthony/lib-common/transpile-on-the-fly branch from 1e3ad23 to 3ef3cd0 Compare April 3, 2023 08:59
Base automatically changed from feature/anthony/lib-tests/transpile-on-the-fly to master April 3, 2023 09:04
@AntoLC AntoLC force-pushed the feature/anthony/lib-common/transpile-on-the-fly branch 3 times, most recently from 1f6d845 to 2de9039 Compare April 3, 2023 10:10
@AntoLC AntoLC marked this pull request as ready for review April 3, 2023 10:25
@AntoLC AntoLC force-pushed the feature/anthony/lib-common/transpile-on-the-fly branch from 2de9039 to 013ce81 Compare April 3, 2023 10:38
@AntoLC AntoLC force-pushed the feature/anthony/lib-common/transpile-on-the-fly branch 2 times, most recently from 3eb2374 to 0215d32 Compare April 3, 2023 11:30
- run:
name: Install node dependencies
command: yarn install --frozen-lockfile
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--frozen_lockfile didn't show correctly if the yarn.lock was up to date or not.
@lunika There are other occurences of --frozen-lockfile in the config file, I am not sure if we should treat them as well or not.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--frozen-lockfile is buggy with yarn 1 and is fix in yarn 2 and higher. We should keep it like this IMO

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just saw the --intergity usage. Why not doing it for the all file ? You think doing it in the first jobs is enough ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should do it for the other occurences as well, but I was not sure.

Copy link
Contributor

@kernicPanel kernicPanel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add lib-common to packages and apps with the transpiling on the fly.
By including lib-common in the apps and packages, we got relative
imports problems coming from lib-common, it is because the
relative import are from the apps perspective.
This commit fixes this issue by using the `@lib-common` alias.
We don't need to build lib_common anymore, it is transpile during
the apps build.
- review dependencies packages about lib_common
- 🔥 all build relative dependencies from lib_common
- 🔥 rollup.config.mjs from lib_common
- adapt CI config and frontend package
We now have a marsha_config package that contains all the configuration
for the whole project, so we moved Jest config in it.
The tsconfig.json file is not needed anymore since we are using the
tsconfig.json file from the marsha-config package.
@AntoLC AntoLC force-pushed the feature/anthony/lib-common/transpile-on-the-fly branch from 0215d32 to 78cf07c Compare April 3, 2023 13:05
After to update the dependencies, we check if the yarn.lock
file is up to date. If not, an error is raised and the job is stopped.
@AntoLC AntoLC force-pushed the feature/anthony/lib-common/transpile-on-the-fly branch from 78cf07c to d06942b Compare April 3, 2023 13:34
@AntoLC AntoLC merged commit 58c1fbd into master Apr 3, 2023
@AntoLC AntoLC deleted the feature/anthony/lib-common/transpile-on-the-fly branch April 3, 2023 13:49
lunika added a commit that referenced this pull request Apr 19, 2023
Added

- standalone website:
  - Integrate VOD dashboard (#2086)
  - List the lives in the contents section (#2104)
  - Live session model
  - Livesession backend rewrite
  - Add sentry
  - Create a live from the website (#2134)
  - Integrate webinar dashboard (#2135)
- Add a License Manager widget for LTI VOD view
- Add a title to the classroom file dropzone
- Add can_edit property on a serialized video
- Add an attribute to consumer site to deactivate resources in LTI select
- live transpilation on lib-video (#2150)
- live transpilation on lib-classroom (#2157)
- live transpilation on lib-markdown (#2160)
- live transpilation on lib-components (#2161)
- live transpilation on lib-tests (#2163)
- live transpilation on lib-common (#2164)
- Add a widget provider for the classroom creation form
- Allow delete playlist resources
  - FileDepository
  - Classroom
  - Document
  - Markdown
- Allow delete playlist
- add routes related URL:
  - thumbnails
  - timed_text_track
  - shared_live_media
- Add classroom widgets :
  - InfoBar
  - Description
  - Scheduling
  - Invite links
  - Support sharing
  - Recordings
- Add classroom invite link for an instructor
- Add a "Tools & Applications" widget for classrooms

Changed

- Update live sessions API to use nested video ID route
- Move generic widget components from lib-video to lib-components
- Make video dashboard collapsed by default
- improve the dropdown languages positionning in the dashboard (#2138)
- Make video dashboard visible by default, and collapsed when using the
  Moodle atto plugin
- Update live_session api to use mixin to prevent url crafting
- standalone website:
  - put the creating ressource form submit button disabled when the
    form is invalid (#2175)

Fixed

- redirect to error page when VOD is deleted
- Manage disconnection when multiple tabs were open on standalone site
- synchronisation between pages for the VOD description widget
- tooltip position on the website context dashboard (#2136)
- thumbnail not reset correctly on the video player (#2137)
- display title / description when a classroom is not scheduled and not started
- correctly fetch transcript content in TranscriptReader
- remove unused 'initiate-live' permissions
- increase debounce time in classroom description widget
- remove id3 tags upload when live channel is not ready
- add an invitation link for moderators in a launched classroom if available
lunika added a commit that referenced this pull request Apr 19, 2023
Added

- standalone website:
  - Integrate VOD dashboard (#2086)
  - List the lives in the contents section (#2104)
  - Live session model
  - Livesession backend rewrite
  - Add sentry
  - Create a live from the website (#2134)
  - Integrate webinar dashboard (#2135)
- Add a License Manager widget for LTI VOD view
- Add a title to the classroom file dropzone
- Add can_edit property on a serialized video
- Add an attribute to consumer site to deactivate resources in LTI select
- live transpilation on lib-video (#2150)
- live transpilation on lib-classroom (#2157)
- live transpilation on lib-markdown (#2160)
- live transpilation on lib-components (#2161)
- live transpilation on lib-tests (#2163)
- live transpilation on lib-common (#2164)
- Add a widget provider for the classroom creation form
- Allow delete playlist resources
  - FileDepository
  - Classroom
  - Document
  - Markdown
- Allow delete playlist
- add routes related URL:
  - thumbnails
  - timed_text_track
  - shared_live_media
- Add classroom widgets :
  - InfoBar
  - Description
  - Scheduling
  - Invite links
  - Support sharing
  - Recordings
- Add classroom invite link for an instructor
- Add a "Tools & Applications" widget for classrooms

Changed

- Update live sessions API to use nested video ID route
- Move generic widget components from lib-video to lib-components
- Make video dashboard collapsed by default
- improve the dropdown languages positionning in the dashboard (#2138)
- Make video dashboard visible by default, and collapsed when using the
  Moodle atto plugin
- Update live_session api to use mixin to prevent url crafting
- standalone website:
  - put the creating ressource form submit button disabled when the
    form is invalid (#2175)

Fixed

- redirect to error page when VOD is deleted
- Manage disconnection when multiple tabs were open on standalone site
- synchronisation between pages for the VOD description widget
- tooltip position on the website context dashboard (#2136)
- thumbnail not reset correctly on the video player (#2137)
- display title / description when a classroom is not scheduled and not started
- correctly fetch transcript content in TranscriptReader
- remove unused 'initiate-live' permissions
- increase debounce time in classroom description widget
- remove id3 tags upload when live channel is not ready
- add an invitation link for moderators in a launched classroom if available
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants