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

Removed import of url module in browser build due to huge size overhead… #4594

Merged
merged 2 commits into from
Apr 26, 2022

Conversation

DigitalBrainJS
Copy link
Collaborator

@DigitalBrainJS DigitalBrainJS commented Apr 8, 2022

PR #3544 added Malformed URL and protocol checks by importing standard url node.js module which led to a huge size overhead of the client build.
This PR reverts Malformed URL check because:

  • huge size overhead (it was 62 KB, now - 175 KB) due to importing url module, while we're trying to keep Axios lightweight, aren't we?
  • it doesn't make much sense for the client platform, since the URL will be validated, encoded, and fixed by the XMLHTTPRequest object internally.
  • added code is used only for validating, not for Axios logic.

… overhead;

Removed pointless `Malformed URL` checking in  client build;
@@ -78,6 +78,7 @@
"unpkg": "dist/axios.min.js",
"typings": "./index.d.ts",
"dependencies": {
"eslint-g": "^1.3.4",

Choose a reason for hiding this comment

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

What is use of this package?

https://www.npmjs.com/package/eslint-g

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good call. That was a typo. Apparently, the only purpose of this package is for people to install it by mistake. A very dangerous precedent. It was a typo in a missing space - that's when my IDE required an eslint update. So when you type "npm -i eslint -g" with missing space before -g, you will install this scam. I'm not sure how I missed this change in the commit, but in any case, npm should disallow such names or show an additional prompt to avoid problems like this.

@kumardeepakme
Copy link

@DigitalBrainJS So what is the fix for this on the Client-side?

Because webpack build gives the error Module not found: Error: Can't resolve 'url' in '.../node_modules/axios/lib/adapters'

Should we install the url package separately or is there something else that is not documented?

@Jiaocz
Copy link

Jiaocz commented Apr 26, 2022

@DigitalBrainJS So what is the fix for this on the Client-side?

Because webpack build gives the error Module not found: Error: Can't resolve 'url' in '.../node_modules/axios/lib/adapters'

Should we install the url package separately or is there something else that is not documented?

lib/adapters/xhr.js#L10
this removed use of url, after merged and release, the error will solve. you can now install url to temp solve this.
@kumardeepakxyz

@kumardeepakme
Copy link

@DigitalBrainJS So what is the fix for this on the Client-side?
Because webpack build gives the error Module not found: Error: Can't resolve 'url' in '.../node_modules/axios/lib/adapters'
Should we install the url package separately or is there something else that is not documented?

lib/adapters/xhr.js#L10 this removed use of url, after merged and release, the error will solve. you can now install url to temp solve this. @kumardeepakxyz

Yes, it's solved in 0.27.1 👍

ksibisamir added a commit to SaTT-Wallet/Backend that referenced this pull request May 26, 2023
<h3>Snyk has created this PR to upgrade axios from 0.26.1 to
0.27.2.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.
<hr/>

- The recommended version is **3 versions** ahead of your current
version.
- The recommended version was released **a year ago**, on 2022-04-27.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>axios</b></summary>
    <ul>
      <li>
<b>0.27.2</b> - <a
href="https://snyk.io/redirect/github/axios/axios/releases/tag/v0.27.2">2022-04-27</a></br><p>Fixes
and Functionality:</p>
<ul>
<li>Fixed FormData posting in browser environment by reverting <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="878655062" data-permission-text="Title is private"
data-url="axios/axios#3785"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/3785/hovercard"
href="https://snyk.io/redirect/github/axios/axios/pull/3785">#3785</a>
(<a href="https://snyk.io/redirect/github/axios/axios/pull/4640"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4640/hovercard">#4640</a>)</li>
<li>Enhanced protocol parsing implementation (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4639"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4639/hovercard">#4639</a>)</li>
<li>Fixed bundle size</li>
</ul>
      </li>
      <li>
<b>0.27.1</b> - <a
href="https://snyk.io/redirect/github/axios/axios/releases/tag/v0.27.1">2022-04-26</a></br><h3>Fixes
and Functionality:</h3>
<ul>
<li>Removed import of url module in browser build due to huge size
overhead and builds being broken (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4594"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4594/hovercard">#4594</a>)</li>
<li>Bumped follow-redirects to ^1.14.9 (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4615"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4615/hovercard">#4615</a>)</li>
</ul>
      </li>
      <li>
<b>0.27.0</b> - <a
href="https://snyk.io/redirect/github/axios/axios/releases/tag/v0.27.0">2022-04-25</a></br><h3>Breaking
changes:</h3>
<ul>
<li>New toFormData helper function that allows the implementor to pass
an object and allow axios to convert it to FormData (<a
href="https://snyk.io/redirect/github/axios/axios/pull/3757"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/3757/hovercard">#3757</a>)</li>
<li>Removed functionality that removed the the <code>Content-Type</code>
request header when passing FormData (<a
href="https://snyk.io/redirect/github/axios/axios/pull/3785"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/3785/hovercard">#3785</a>)</li>
<li><strong>(*)</strong> Refactored error handling implementing
AxiosError as a constructor, this is a large change to error handling on
the whole (<a
href="https://snyk.io/redirect/github/axios/axios/pull/3645"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/3645/hovercard">#3645</a>)</li>
<li>Separated responsibility for FormData instantiation between
<code>transformRequest</code> and <code>toFormData</code> (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4470"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4470/hovercard">#4470</a>)</li>
<li><strong>(*)</strong> Improved and fixed multiple issues with
FormData support (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4448"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4448/hovercard">#4448</a>)</li>
</ul>
<h3>QOL and DevX improvements:</h3>
<ul>
<li>Added a multipart/form-data testing playground allowing contributors
to debug changes easily (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4465"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4465/hovercard">#4465</a>)</li>
</ul>
<h3>Fixes and Functionality:</h3>
<ul>
<li>Refactored project file structure to avoid circular imports (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4516"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4516/hovercard">#4515</a>) &amp;
(<a href="https://snyk.io/redirect/github/axios/axios/pull/4516"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4516/hovercard">#4516</a>)</li>
<li>Bumped follow-redirects to ^1.14.9 (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4562"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4562/hovercard">#4562</a>)</li>
</ul>
<h3>Internal and Tests:</h3>
<ul>
<li>Updated dev dependencies to latest version</li>
</ul>
<h3>Documentation:</h3>
<ul>
<li>Fixing incorrect link in changelog (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4551"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4551/hovercard">#4551</a>)</li>
</ul>
<h3>Notes:</h3>
<ul>
<li><strong>(*)</strong> Please read these pull requests before
updating, these changes are very impactful and far reaching.</li>
</ul>
      </li>
      <li>
<b>0.26.1</b> - <a
href="https://snyk.io/redirect/github/axios/axios/releases/tag/v0.26.1">2022-03-09</a></br><h3>Fixes
and Functionality:</h3>
<ul>
<li>Refactored project file structure to avoid circular imports (<a
href="https://snyk.io/redirect/github/axios/axios/pull/4220"
data-hovercard-type="pull_request"
data-hovercard-url="/axios/axios/pull/4220/hovercard">#4220</a>)</li>
</ul>
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/axios/axios/releases">axios GitHub
release notes</a>
  </details>
</details>
<hr/>

**Note:** *You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs.*

For more information: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIyMDVhZWJmMC01NTE3LTQ2ZjQtODg0Zi0xYjEwZjdiOWU3YjgiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjIwNWFlYmYwLTU1MTctNDZmNC04ODRmLTFiMTBmN2I5ZTdiOCJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/satt/project/b89486be-ad07-4d6c-a51a-2fa8a25baa00?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/satt/project/b89486be-ad07-4d6c-a51a-2fa8a25baa00/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/satt/project/b89486be-ad07-4d6c-a51a-2fa8a25baa00/settings/integration?pkg&#x3D;axios&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"205aebf0-5517-46f4-884f-1b10f7b9e7b8","prPublicId":"205aebf0-5517-46f4-884f-1b10f7b9e7b8","dependencies":[{"name":"axios","from":"0.26.1","to":"0.27.2"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/satt/project/b89486be-ad07-4d6c-a51a-2fa8a25baa00?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"b89486be-ad07-4d6c-a51a-2fa8a25baa00","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":3,"publishedDate":"2022-04-27T10:00:58.685Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]})
--->
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.

5 participants