Files
twenty/packages/twenty-chrome-extension
Paul Rastoin 9ad8287dbc [REFACTOR] twenty-shared multi barrel and CJS/ESM build with preconstruct (#11083)
# Introduction

In this PR we've migrated `twenty-shared` from a `vite` app
[libary-mode](https://vite.dev/guide/build#library-mode) to a
[preconstruct](https://preconstruct.tools/) "atomic" application ( in
the future would like to introduce preconstruct to handle of all our
atomic dependencies such as `twenty-emails` `twenty-ui` etc it will be
integrated at the monorepo's root directly, would be to invasive in the
first, starting incremental via `twenty-shared`)

For more information regarding the motivations please refer to nor:
- https://github.com/twentyhq/core-team-issues/issues/587
-
https://github.com/twentyhq/core-team-issues/issues/281#issuecomment-2630949682

close https://github.com/twentyhq/core-team-issues/issues/589
close https://github.com/twentyhq/core-team-issues/issues/590

## How to test
In order to ease the review this PR will ship all the codegen at the
very end, the actual meaning full diff is `+2,411 −114`
In order to migrate existing dependent packages to `twenty-shared` multi
barrel new arch you need to run in local:
```sh
yarn tsx packages/twenty-shared/scripts/migrateFromSingleToMultiBarrelImport.ts && \
npx nx run-many -t lint --fix -p twenty-front twenty-ui twenty-server twenty-emails twenty-shared twenty-zapier
```
Note that `migrateFromSingleToMultiBarrelImport` is idempotent, it's atm
included in the PR but should not be merged. ( such as codegen will be
added before merging this script will be removed )

## Misc
- related opened issue preconstruct
https://github.com/preconstruct/preconstruct/issues/617

## Closed related PR
- https://github.com/twentyhq/twenty/pull/11028
- https://github.com/twentyhq/twenty/pull/10993
- https://github.com/twentyhq/twenty/pull/10960

## Upcoming enhancement: ( in others dedicated PRs )
- 1/ refactor generate barrel to export atomic module instead of `*`
- 2/ generate barrel own package with several files and tests
- 3/ Migration twenty-ui the same way
- 4/ Use `preconstruct` at monorepo global level

## Conclusion
As always any suggestions are welcomed !
2025-03-22 19:16:06 +01:00
..
2024-04-19 18:28:02 +02:00
2025-01-20 23:10:39 +01:00

Twenty Chrome Extension.

This extension allows you to save company and people information to your twenty workspace directly from LinkedIn.

To install the extension in development mode with hmr (hot module reload), follow these steps.

  • STEP 1: Clone the repository and run yarn install in the root directory.

  • STEP 2: Once the dependencies installation succeeds, create a file with env variables by executing the following command in the root directory.

cp ./packages/twenty-chrome-extension/.env.example ./packages/twenty-chrome-extension/.env
  • STEP 3 (optional): Update values of the environment variables to match those of your instance for twenty-front and twenty-server. If you want to work on your local machine with the default setup from Twenty Docs, replace everything in the .env file with the following.
VITE_SERVER_BASE_URL=http://localhost:3000
VITE_FRONT_BASE_URL=http://localhost:3001
  • STEP 4: Now, execute the following command in the root directory to start up the development server on Port 3002. This will create a dist folder in twenty-chrome-extension.
npx nx start twenty-chrome-extension
  • STEP 5: Open Google Chrome and head to the extensions page by typing chrome://extensions in the address bar.

  • STEP 6: Turn on the Developer mode from the top-right corner and click Load unpacked.

  • STEP 7: Select the dist folder from twenty-chrome-extension.

  • STEP 8: This opens up the options page, where you must enter your API key.

  • STEP 9: Reload any LinkedIn page that you opened before installing the extension for seamless experience.

  • STEP 10: Visit any individual or company profile on LinkedIn and click the Add to Twenty button to test.

To install the extension in production mode without hmr (hot module reload), replace the command in STEP FOUR with npx nx build twenty-chrome-extension. You may or may not want to execute STEP THREE based on your requirements.