Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
JavaScript development moves quickly, and the right VS Code extensions can turn a basic editor into a faster, cleaner, and more reliable workspace. From catching errors before runtime to formatting code consistently across a team, extensions help reduce friction in everyday frontend, backend, and full-stack projects.
A strong extension setup supports the parts of development that often slow teams down: linting, debugging, navigating large codebases, managing Git changes, and keeping style consistent. For JavaScript developers working with frameworks like React, Vue, Node.js, or Next.js, these tools can make the difference between constant context switching and a smooth coding flow.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
GameStop Physical Gift Card | $25.00 | Buy on Amazon |
| 2 |
|
Xbox Physical Gift Card | $25.00 | Buy on Amazon |
| 3 |
|
$100 XBOX Gift Card [Digital Code] | $100.00 | Buy on Amazon |
| 4 |
|
Fortnite Physical Gift Card | $50.00 | Buy on Amazon |
| 5 |
|
$25 PlayStation Store Gift Card [Digital Code] | $25.00 | Buy on Amazon |
This roundup focuses on practical extensions that solve real problems in real projects. Each one earns its place by improving productivity, code quality, collaboration, or confidence while writing and maintaining JavaScript code.
Why VS Code Extensions Matter for JavaScript Development
JavaScript development moves across many contexts: browser apps, Node.js services, React components, test suites, build scripts, API clients, and configuration files. VS Code is a strong editor on its own, but extensions turn it into a tailored workspace for the exact stack you use. Instead of switching between separate tools for linting, formatting, debugging, Git history, package inspection, and framework support, developers can bring those workflows directly into the editor.
#1 Best Overall
- Redeemable at US GameStop, EB Games, Babbage's, Electronic Boutique, EBX, Planet X, and Software Etc. stores. Also redeemable online at and GameStop.com and EBGames.com.
- Over 6,100 stores located throughout the United States.
- GameStop. Power to the Players.
- Redemption: Instore and Online
- No returns and no refunds on gift cards.
This matters because JavaScript projects often depend on conventions that are not enforced by the language alone. A team may use ESLint rules, Prettier formatting, TypeScript type checking, Jest tests, npm scripts, path aliases, environment files, and framework-specific patterns. The right extensions surface problems as you type, format code consistently on save, autocomplete project-specific APIs, and make errors easier to trace before they reach a pull request or production build.
Where extensions have the biggest impact
- Code quality: linting and static analysis extensions catch unused variables, unsafe patterns, missing dependencies in hooks, and inconsistent imports early.
- Consistency: formatting tools keep code style uniform across teams, reducing noisy diffs and review comments about spacing, quotes, or semicolons.
- Debugging: runtime-focused extensions help inspect variables, step through Node.js or browser code, and connect editor breakpoints to real application behavior.
- Productivity: snippets, IntelliSense helpers, import tools, and project navigation extensions reduce repetitive typing and make large codebases easier to understand.
- Collaboration: Git and sharing extensions make it easier to review changes, understand file history, and work with teammates without leaving the editor.
For example, a developer working on a React application can use extensions to flag accessibility issues in JSX, format components on save, highlight matching brackets, preview npm package details, run tests from the sidebar, and inspect Git blame information for a confusing line of code. In a backend Node.js project, extensions can help debug an Express route, validate environment files, manage Docker containers, and enforce import ordering across modules.
The value is not in installing as many extensions as possible. Too many extensions can slow startup time, add conflicting formatters, or create overlapping diagnostics. The goal is to choose extensions that support the project’s actual workflow: the framework, package manager, test runner, formatter, linter, and collaboration habits your team already uses. When selected carefully, VS Code extensions make JavaScript development faster, more predictable, and easier to maintain across both small side projects and large production codebases.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Code Quality and Linting Extensions
JavaScript’s flexibility is one of its strengths, but it also makes code quality tools essential. A small typo, an unused variable, an accidental global, or an inconsistent import can slip into a project quickly, especially in React, Node.js, Next.js, or TypeScript-heavy codebases. Linting extensions bring those checks directly into VS Code, so developers can catch problems while writing code instead of waiting for a failed build, broken test, or code review comment.
ESLint
ESLint is the most code quality extension for many JavaScript developers. It connects VS Code to your project’s ESLint configuration and highlights issues inline as you type. This can include syntax mistakes, unused variables, unreachable code, missing dependencies in React hooks, inconsistent equality checks, or violations of team style rules.
Use ESLint in almost any serious JavaScript project, especially when working with frameworks such as React, Vue, Angular, Express, NestJS, or Next.js. Its biggest advantage is that it enforces project-specific rules rather than generic editor preferences. For example, a frontend team can enable rules from eslint-plugin-react and eslint-plugin-jsx-a11y, while a backend team can focus on Node.js, security, and import rules. When paired with “fix on save,” ESLint can automatically clean up simple issues such as unused imports, missing semicolons, or preferred quote styles.
Error Lens
Error Lens makes diagnostics from ESLint, TypeScript, and other tools more visible by showing messages directly beside the affected line. Instead of hovering over a squiggly underline or opening the Problems panel, you see the issue in context while reading the file. This is especially useful in large components, API handlers, or utility modules where mulle warnings can otherwise be easy to miss.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesError Lens works well for developers who want immediate feedback without interrupting their flow. For example, if a React component has a missing dependency in a useEffect array, Error Lens can display that warning on the same line, making it easier to fix before the bug becomes a stale state issue. It is also helpful for onboarding junior developers because it surfaces the editor’s feedback more clearly and reduces the chance of ignoring diagnostics.
Semgrep
Semgrep is a static analysis extension that scans code for bugs, vulnerabilities, and code standard violations. It can scan files as you open or change them, show inline findings in VS Code, and offer autofixes for supported findings. Semgrep supports JavaScript, JSX, TypeScript, and TSX.
Use the Semgrep extension when you want to inspect JavaScript code for security issues and other patterns while working in VS Code. You can scan without signing in; signing in enables access to Semgrep Code and its Pro rules. Its configurable rules let teams tailor scans to their project and standards.
Rank #2
- XBOX GIFT CARD: Buy full digital game downloads, game add-ons, in-game currency, memberships, devices, apps, movies, TV shows, and more.
- DIGITAL GAMES: Choose from hundreds of games, from AAA to indie options. Start playing the moment your most anticipated game is available when you pre-order and pre-download it.
- GAME AD-ONS: Extend the experience of your favorite games with add-ons and in-game currency.
- MOVIES & TV SHOWS: Rent or buy new and popular movies and TV shows from a massive library.
- PERFECT GIFT: Great as a gift for a friend or yourself. Xbox Gift Cards are easy to use, never expire, and give the freedom to pick the gift they want. Enjoy more ways to play without a credit card attached to your Microsoft account.
| Extension | Best for | When to use it |
|---|---|---|
| ESLint | Project rules, common JavaScript bugs, framework-specific checks | Nearly every JavaScript, TypeScript, React, Node.js, or Next.js project |
| Error Lens | Making warnings and errors easier to see | When you want inline feedback without relying on hover messages |
| Semgrep | Static analysis for bugs, vulnerabilities, and code standards | JavaScript projects where you want configurable scans and inline findings |
For a practical setup, start with ESLint because it integrates directly with your project’s rules and build process. Add Error Lens if you want diagnostics to be more visible during day-to-day coding. Consider Semgrep when you want configurable static analysis for bugs and vulnerabilities as your project grows. Together, these extensions help JavaScript developers catch issues before code reaches pull requests or production.
Formatting and Productivity Boosters
Once linting catches defects and style violations, formatting and workflow extensions help JavaScript developers move faster without constantly thinking about whitespace, imports, snippets, or repetitive edits. These tools are especially useful in React, Node.js, TypeScript, and full-stack JavaScript projects where files change often and consistency matters across a team. The best productivity extensions reduce small interruptions: manually aligning code, hunting for matching tags, typing boilerplate, or cleaning up imports after refactors.
Prettier – Code formatter
Prettier is one of the most widely used VS Code extensions for automatic JavaScript formatting. It formats JavaScript, TypeScript, JSX, TSX, JSON, CSS, Markdown, and many other file types using a consistent set of rules. Instead of debating semicolons, quote style, line width, or trailing commas during code review, teams can define these choices in a .prettierrc file and let Prettier apply them automatically.
Prettier matters most in collaborative projects where mulle developers touch the same files. With Format on Save enabled, every save produces clean, consistent code, which keeps pull requests focused on actual changes rather than formatting noise. It is also valuable in open-source projects, monorepos, and frontend apps with many JSX components. For best results, use it alongside ESLint by configuring ESLint for code-quality rules and Prettier for formatting rules, avoiding overlap between the two.
ES7+ React/Redux/React-Native snippets
ES7+ React/Redux/React-Native snippets speeds up common JavaScript and React patterns by generating boilerplate from short abbreviations. For example, developers can quickly create functional components, hooks, exports, imports, React Native components, and Redux-related structures without typing the same patterns repeatedly. This is especially helpful when building many small components, pages, hooks, or utility modules.
The extension is most useful in React-heavy codebases where repetitive structure is common. Instead of manually writing a component skeleton, importing React hooks, or setting up an arrow function export, developers can use snippets and then focus on the actual component behavior. Teams should still review generated code patterns and avoid blindly inserting snippets that do not match the project’s conventions, but for day-to-day frontend work, it saves meaningful time.
Auto Rename Tag and Auto Close Tag
Auto Rename Tag and Auto Close Tag are small extensions that provide a noticeable productivity boost when working with JSX, HTML, Vue templates, or other markup-heavy JavaScript files. Auto Close Tag inserts the closing tag when you type an opening tag, while Auto Rename Tag updates the matching closing tag when the opening tag is renamed.
These extensions are useful in React and Next.js projects where JSX structures can become deeply nested. Renaming a div to a section, changing a custom component name, or editing layout markup becomes less error-prone because the matching tag stays synchronized. This helps prevent broken JSX, failed builds, and small syntax mistakes that interrupt development flow.
Path Intellisense
Path Intellisense autocompletes filenames and directory paths as you type import statements or file references. In JavaScript projects with nested folders such as components, hooks, services, utils, and assets, this removes guesswork and reduces broken imports caused by typos or incorrect relative paths.
Recommended Free Tools
It is particularly useful in larger frontend apps, Node.js APIs, and monorepos where files are spread across mulle packages. When combined with project aliases such as @/components or @/lib, it can make navigation and imports feel much smoother. Developers should make sure their VS Code settings and project configuration match the aliases used by tools like Vite, Webpack, Next.js, or TypeScript.
Rank #3
- THE PERFECT GAMING GIFT — Buy an XBOX Gift Card for yourself or a friend and let them choose the games, add‑ons, subscriptions, and accessories they want most.
- USE FOR GAMES & CONTENT — Redeem for thousands of digital XBOX games, from backward compatible classics to the latest new releases, plus DLC and in‑game currency.
- GAME PASS READY — Apply your balance toward XBOX Game Pass Ultimate to play new titles on day one* and access a library of hundreds of high‑quality console games.
- PRE‑ORDER & PRE‑INSTALL GAMES — Use your balance to pre‑order and pre‑download upcoming titles so you’re ready to play the moment they launch.
- NO FEES OR EXPIRATION — XBOX Gift Cards never expire and have no service fees, so your balance is ready whenever you are.
npm Intellisense
npm Intellisense autocompletes npm package names in import statements. When a project has many dependencies, this extension helps developers quickly import installed libraries without checking package.json or typing package names from memory. It is useful when working with packages such as Express, Axios, Zod, Lodash, date-fns, or testing utilities.
This extension fits well in JavaScript projects that rely on many third-party modules. It reduces import mistakes and speeds up setup when adding new files, writing tests, or integrating libraries. Together, Prettier, snippets, tag helpers, path completion, and npm completion create a smoother editing experience where VS Code handles repetitive mechanics and developers spend more time solving application problems.
Debugging and Runtime Tools
JavaScript debugging is no longer limited to sprinkling console.log() statements throughout your code and refreshing the browser. VS Code can connect directly to Node.js, browsers, test runners, and API clients, giving you breakpoints, call stacks, variable inspection, and runtime feedback without leaving the editor. For front-end apps, back-end services, serverless functions, and full-stack frameworks like Next.js or Remix, the right debugging extensions can shorten the time between spotting a bug and understanding exactly where it comes from.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →JavaScript Debugger
The built-in JavaScript Debugger is one of the most valuable runtime tools for JavaScript developers because it supports debugging Node.js, Chrome, Edge, WebView, and many modern JavaScript workflows out of the box. You can set breakpoints in source files, step through async functions, inspect closures, watch expressions, and debug transpiled code through source maps. It is especially useful when working with Node APIs, Express servers, build scripts, CLI tools, or browser apps launched from VS Code.
In real projects, this debugger is ideal when a bug depends on runtime state rather than static code structure. For example, if an authentication middleware fails only for certain tokens, or a React component receives unexpected props after an API call, breakpoints and watch expressions reveal the exact values at each step. Developers should create a launch.json configuration when they need repeatable debug sessions, such as starting a local server, attaching to a running Node process, or debugging Jest tests with consistent environment variables.
Thunder Client or REST Client
For JavaScript developers building APIs, Thunder Client and REST Client are practical alternatives to switching constantly between VS Code and a separate API testing app. Thunder Client provides a visual interface for sending HTTP requests, organizing collections, setting environment variables, and inspecting responses. REST Client uses plain text .http or .rest files, which makes requests easy to commit with the project and share across the team.
- Use Thunder Client when you prefer a GUI for testing Express, Fastify, NestJS, or serverless endpoints.
- Use REST Client when you want request examples stored as version-controlled documentation beside the source code.
- Use either tool to test authentication flows, request headers, JSON payloads, pagination, error responses, and webhook handlers.
Quokka.js
Quokka.js gives JavaScript and TypeScript developers instant runtime feedback directly inside the editor. Instead of running an entire app or test suite, you can evaluate snippets, utility functions, date handling, array transformations, regular expressions, or small algorithm experiments inline. The results appear next to the code as you type, which makes it useful for validating assumptions quickly while refactoring or designing helper functions.
Quokka.js fits best when you are exploring behavior in isolation. For example, you might test how Array.prototype.reduce() handles an empty array, compare object destructuring defaults, or verify a complex data transformation before moving it into production code. It should not replace unit tests or full debugging, but it is a fast scratchpad for understanding JavaScript behavior without creating temporary files or polluting application code with disposable logs.
Error Lens
Error Lens improves runtime-adjacent feedback by making diagnostics more visible. Instead of hiding TypeScript errors, ESLint warnings, or validation messages in the Problems panel, it displays them inline near the affected code. This is particularly helpful in JavaScript projects that rely on TypeScript checking, strict ESLint rules, framework diagnostics, or test-related type errors.
When combined with the JavaScript Debugger and an API testing extension, Error Lens helps create a tighter feedback loop: syntax and type issues are visible while editing, API behavior can be tested immediately, and runtime bugs can be inspected with breakpoints. For most JavaScript developers, these tools cover the core debugging workflow: identify the warning, reproduce the issue, inspect live state, and confirm the fix before pushing changes.
Rank #4
- An Epic Games account is required to redeem an Epic Games Store Card code
- If playing on a console platform (PlayStation Network, Xbox Live, Nintendo Switch or Mobile) you need to link your Epic Games account to that gaming platform (one time) to redeem your gift card code
- The 16 digit code on the back of the card WILL NOT work if redeemed directly through your gaming platform (PlayStation Network, Xbox Live, Nintendo Switch, Mobile, etc.)
- Note: Nintendo devices do not support Fortnite Shared Wallet, so V-Bucks purchased using your account balance will not show up on your Nintendo device. However, if you purchase items in the web Item Shop — or another platform where you play Fortnite — those items will be available in your Locker across all platforms.
- Redemption: Online
Git, Collaboration, and Project Navigation Extensions
JavaScript projects move quickly: feature branches, pull requests, package updates, shared components, and frequent refactors are part of daily work. The right VS Code extensions can make that flow easier by showing Git history in context, helping teammates collaborate inside the editor, and making large codebases easier to navigate. These tools are especially useful in React, Node.js, Next.js, Vue, and monorepo projects where files, commits, and contributors can mully fast.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
GitLens
GitLens is one of the most useful extensions for understanding how a codebase changed over time. It adds inline blame annotations, commit details, file history, branch comparisons, and visual history tools directly inside VS Code. Instead of switching to the terminal or a browser to inspect a commit, you can hover over a line and see who changed it, when it changed, and which commit introduced it.
This matters when you are debugging a regression, reviewing unfamiliar code, or trying to understand the intent behind a function. For example, if a utility in a shared JavaScript package starts returning unexpected values, GitLens can help you trace when the behavior changed and open the related commit or pull request. It is also helpful during code reviews because you can compare branches, inspect changed files, and understand context without leaving the editor.
GitHub Pull Requests and Issues
GitHub Pull Requests and Issues brings GitHub workflow features into VS Code. You can browse pull requests, check out branches, review diffs, comment on changes, and manage issues from the editor. For JavaScript teams using GitHub, this reduces the constant back-and-forth between VS Code and the browser.
Use it when your team relies on pull requests for feature work, bug fixes, or release preparation. A frontend developer can review a teammate’s React component changes, leave comments, run the project locally, and make small suggested edits from one place. Backend JavaScript developers can use it to inspect API route changes, test them locally, and connect discussion threads to actual files. It is most valuable in collaborative projects where code review is a regular part of the workflow.
Free tools Windows power users keep installed
One-click scans. No signup required.
Live Share
Live Share enables real-time collaborative editing and debugging. You can invite another developer into your current VS Code session, share your workspace, co-edit files, follow each other’s cursors, and even share terminals or local servers when configured. It is a strong choice for pair programming, onboarding, mentoring, and quick debugging sessions.
In real-world JavaScript work, Live Share is useful when a teammate needs help reproducing a bug in a local Node.js service, understanding a failing test, or navigating a complex frontend state issue. Instead of screen sharing and dictating line numbers, both developers can interact with the code directly. This is faster for walking through component props, Express middleware, test failures, or build configuration problems.
Project Manager
Project Manager helps developers switch between projects quickly. JavaScript developers often work across mulle repositories: a frontend app, an API service, a shared component library, a design system, or several client projects. This extension lets you save projects and open them from a simple list instead of hunting through folders every time.
It is especially helpful for freelancers, agency developers, and teams working in microservice or monorepo environments. If you regularly move between a production app, a staging branch, and a package workspace, Project Manager reduces friction and keeps your editor workflow organized.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →- Use GitLens when you need commit history, blame details, and branch comparisons inside VS Code.
- Use GitHub Pull Requests and Issues when your team manages reviews and tasks through GitHub.
- Use Live Share for pair programming, mentoring, and collaborative debugging.
- Use Project Manager when you frequently switch between JavaScript repositories or workspaces.
How to Choose the Right Extensions for Your Workflow
Choosing VS Code extensions is less about installing every popular tool and more about matching your editor to the way you actually build JavaScript applications. A React developer working on a design-heavy frontend has different needs than a Node.js developer maintaining APIs, and both have different requirements from a full-stack team shipping TypeScript, tests, Docker containers, and CI checks. Start by identifying the parts of your workflow that slow you down: inconsistent formatting, missed lint errors, hard-to-follow Git history, weak autocomplete, slow debugging, or poor project navigation.
Best Value
- Redeem for anything on PlayStationStore: games, add-ons, PlayStationPlus and more.
- Everything you want to play. Choose from the largest library of PlayStation content.
- Use gift card funds to contribute towards PlayStationPlus memberships.
A good extension should either remove repeated manual work, catch mistakes earlier, or make complex project context easier to understand. For example, ESLint is valuable when your team enforces shared code rules, while Prettier is useful when formatting debates waste time in pull requests. GitLens helps when you often need to understand who changed a line and when, while Thunder Client or similar API tools make sense if you frequently test REST endpoints from inside the editor. If an extension does not support a regular task, it may add more noise than value.
Evaluate extensions before making them part of your setup
- Check project relevance: Install extensions that match your stack, such as React, Vue, Node.js, TypeScript, Jest, or Docker tooling.
- Look at maintenance: Prefer extensions with recent updates, active issue tracking, and broad adoption in the JavaScript community.
- Watch performance: Too many extensions can slow startup, indexing, IntelliSense, and file watching in large projects.
- Avoid feature overlap: Running multiple formatters or competing lint tools can create conflicting edits and confusing diagnostics.
- Respect team standards: Use workspace recommendations, shared settings, and checked-in config files so everyone gets consistent behavior.
For solo projects, you can be more flexible and tune VS Code around personal speed. For team projects, consistency matters more. If your repository already includes .eslintrc, prettierrc, tsconfig.json, or editor settings, let those files guide your extension choices. Teams can also add a .vscode/extensions.json file to recommend a standard set of extensions, helping new developers set up quickly without guessing which tools are expected.
It is also worth reviewing your extensions every few months. Disable tools you no longer use, remove duplicate functionality, and keep only the extensions that actively improve your daily development. A lean VS Code setup is often faster, more predictable, and easier to troubleshoot than an overloaded one. The best extension stack for JavaScript development is not the longest list; it is the set of tools that supports your framework, enforces your standards, speeds up common tasks, and stays out of the way while you write, test, debug, and ship code.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Frequently Asked Questions
Which VS Code extensions should I install first for JavaScript development?
Start with ESLint, Prettier, JavaScript Debugger, GitLens, and npm Intellisense. These cover the essentials: catching code issues, formatting consistently, debugging in the editor, understanding Git history, and working faster with package imports. Once those are stable, add project-specific tools such as Jest, Tailwind CSS IntelliSense, or Path Intellisense.
Do I need both ESLint and Prettier in VS Code?
Yes, many JavaScript projects use both because they solve different problems. ESLint catches code quality issues, possible bugs, and style rules, while Prettier handles automatic formatting such as spacing, line breaks, and quotes. To avoid conflicts, configure ESLint for code rules and let Prettier handle formatting.
Can too many VS Code extensions slow down JavaScript projects?
Yes, installing too many extensions can increase startup time, use more memory, and make the editor feel sluggish. Extensions that analyze files continuously, run language servers, or watch large folders can have the biggest impact. Disable extensions you do not use often, and use workspace-specific recommendations for different projects.
What VS Code extensions are best for debugging JavaScript and Node.js?
The built-in JavaScript Debugger is usually enough for Node.js, browser debugging, and many frontend workflows. For test debugging, extensions such as Jest can help you run and inspect individual tests directly from the editor. If you work with APIs, REST Client or Thunder Client can also speed up debugging by letting you send requests without leaving VS Code.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesShould JavaScript teams standardize VS Code extensions?
Yes, teams benefit from standardizing core extensions such as ESLint, Prettier, EditorConfig, and GitLens. This keeps formatting, linting, and Git workflows consistent across developers and reduces unnecessary code review noise. A good approach is to add a .vscode/extensions.json file with recommended extensions for the project.
Bottom Line
The right VS Code extensions can turn a basic editor into a faster, cleaner, and more reliable JavaScript development environment. Tools for linting, formatting, debugging, Git workflows, collaboration, and productivity help you catch issues earlier and stay focused on building features.
Start with the essentials like ESLint, Prettier, GitLens, and a strong debugging setup, then add project-specific extensions as your workflow grows. Keep your extension list intentional, review it regularly, and use only the tools that genuinely improve how you write and maintain JavaScript code.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

