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

fix(templates): move dependencies to a package json #594

Merged
merged 9 commits into from
Oct 4, 2022
Merged

Conversation

danilowoz
Copy link
Member

@danilowoz danilowoz commented Sep 29, 2022

Sandpack-client on mounting the dependencies and package needs to prioritize which dependency list it should run. These dependencies might come from:

  • Template (like react dependencies), set by the user;
  • package.json provided by the user;
  • Or dependencies list via prop, also provided by the user;

The main problem happens when there is a template + package.json, and then sandpack-client needs to pick one as the source of truth:

 if (dependencies) {
      packageJsonContent.dependencies = {
        ...(packageJsonContent.dependencies ?? {}),
        ...(dependencies ?? {}),
      };
    }

    if (devDependencies) {
      packageJsonContent.devDependencies = {
        ...(packageJsonContent.devDependencies ?? {}),
        ...(devDependencies ?? {}),
      };
    }

Moving the dependencies list from the dependency key to a package.json inside of each template should avoid this conflict.

Address reactjs/react.dev#5100

@codesandbox
Copy link

codesandbox bot commented Sep 29, 2022

CodeSandbox logoCodeSandbox logo  Open in CodeSandbox Web Editor | VS Code | VS Code Insiders | Storybook

@codesandbox-ci
Copy link

codesandbox-ci bot commented Sep 30, 2022

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit a54072c:

Sandbox Source
Sandpack Configuration

@github-actions
Copy link

github-actions bot commented Sep 30, 2022

Size changes

sandpack-react

Total base (gzip) Total current (gzip) +/-
168 kb 168 kb ⚠️ +19 bytes (+0.01%)
Details
Dependency name / file Base Current +/-
0 522 kb 522 kb ✅ 0 byte
main 506 kb 506 kb ⚠️ +399 bytes (+0.08%)
@codesandbox/sandpack-react 86 kb 87 kb ⚠️ +399 bytes (+0.45%)
@code-hike/classer 1 kb 1 kb ✅ 0 byte
@codesandbox/sandpack-client 9 kb 9 kb ✅ 0 byte
@stitches/core 16 kb 16 kb ✅ 0 byte
@codemirror/state 35 kb 35 kb ✅ 0 byte
@codemirror/view 167 kb 167 kb ✅ 0 byte
@codemirror/closebrackets 6 kb 6 kb ✅ 0 byte
@codemirror/matchbrackets 4 kb 4 kb ✅ 0 byte
@codemirror/commands 24 kb 24 kb ✅ 0 byte
@codemirror/comment 5 kb 5 kb ✅ 0 byte
@codemirror/gutter 10 kb 10 kb ✅ 0 byte
@codemirror/highlight 12 kb 12 kb ✅ 0 byte
@codemirror/history 9 kb 9 kb ✅ 0 byte
@react-hook/intersection-observer 2 kb 2 kb ✅ 0 byte
@codemirror/lang-css 11 kb 11 kb ✅ 0 byte
@codemirror/lang-javascript 6 kb 6 kb ✅ 0 byte
@codemirror/lang-html 15 kb 15 kb ✅ 0 byte
clean-set 229 bytes 229 bytes ✅ 0 byte
@codemirror/text 13 kb 13 kb ✅ 0 byte
style-mod 3 kb 3 kb ✅ 0 byte
@codemirror/rangeset 16 kb 16 kb ✅ 0 byte
w3c-keyname 2 kb 2 kb ✅ 0 byte
@lezer/common 34 kb 34 kb ✅ 0 byte
@codemirror/language 19 kb 19 kb ✅ 0 byte
@react-hook/passive-layout-effect 191 bytes 191 bytes ✅ 0 byte
@lezer/css 9 kb 9 kb ✅ 0 byte
@lezer/html 12 kb 12 kb ✅ 0 byte
@lezer/javascript 54 kb 54 kb ✅ 0 byte
@codemirror/autocomplete 34 kb 34 kb ✅ 0 byte
@lezer/lr 31 kb 31 kb ✅ 0 byte
@codemirror/tooltip 14 kb 14 kb ✅ 0 byte
lodash.isequal 18 kb 18 kb ✅ 0 byte
lz-string 9 kb 9 kb ✅ 0 byte
react-devtools-inline 823 kb 823 kb ✅ 0 byte
codesandbox-import-utils 3 kb 3 kb ✅ 0 byte
package-build-stats 487 bytes 487 bytes ✅ 0 byte
intersection-observer 13 kb 13 kb ✅ 0 byte
react-is 2 kb 2 kb ✅ 0 byte

sandpack-client

Total base (gzip) Total current (gzip) +/-
7 kb 7 kb ⚠️ +4 bytes (+0.05%)
Details
Dependency name / file Base Current +/-
main 21 kb 21 kb ⚠️ +10 bytes (+0.05%)
@codesandbox/sandpack-client 9 kb 9 kb ⚠️ +10 bytes (+0.11%)
codesandbox-import-utils 3 kb 3 kb ✅ 0 byte
lodash.isequal 18 kb 18 kb ✅ 0 byte
package-build-stats 487 bytes 487 bytes ✅ 0 byte

@danilowoz danilowoz marked this pull request as ready for review October 4, 2022 10:18
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

Successfully merging this pull request may close these issues.

1 participant