[PR #918] [CLOSED] Replace Webpack4 in loot-core with esbuild. #3405

Closed
opened 2026-02-28 20:41:10 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/918
Author: @sinistersnare
Created: 4/17/2023
Status: Closed

Base: masterHead: feature/esbuild


📝 Commits (1)

  • 46b411f Replace Webpack4 in loot-core with esbuild.

📊 Changes

30 files changed (+2070 additions, -3990 deletions)

View changed files

📝 packages/desktop-client/bin/build-browser (+1 -1)
📝 packages/desktop-client/public/static/media/libofx.web.wasm (+0 -0)
📝 packages/desktop-client/src/components/manager/subscribe/common.js (+1 -0)
📝 packages/import-ynab4/importer.js (+1 -1)
📝 packages/import-ynab4/package.json (+1 -1)
📝 packages/import-ynab5/importer.js (+1 -1)
📝 packages/import-ynab5/package.json (+1 -1)
packages/loot-core/.eslintrc (+8 -0)
packages/loot-core/bin/build-api (+14 -0)
📝 packages/loot-core/bin/build-browser (+15 -19)
packages/loot-core/build.mjs (+94 -0)
📝 packages/loot-core/jest.config.js (+7 -0)
📝 packages/loot-core/jest.web.config.js (+3 -0)
📝 packages/loot-core/package.json (+8 -11)
packages/loot-core/peg-loader.js (+0 -9)
📝 packages/loot-core/src/platform/uuid/index.electron.ts (+1 -1)
📝 packages/loot-core/src/platform/uuid/index.web.ts (+1 -1)
📝 packages/loot-core/src/server/accounts/export-to-csv.ts (+1 -1)
📝 packages/loot-core/src/server/accounts/parse-file.test.ts (+4 -4)
📝 packages/loot-core/src/server/accounts/parse-file.ts (+4 -3)

...and 10 more files

📄 Description

Hi, I hope this is welcome here! It should address this comment on #656.

Building with esbuild is much faster than Webpack, and I find the build system to be easier to understand. This also unblocks me to work on #730.

I am marking this as a WIP for now because I need to test on CI. Tests seem to be failing but it works for me locally for the testing I have done, so maybe something is up with my local test env. If I can get the tests working, I will un-WIP this.

I deleted some code regarding electron. I can try to revive that if yall want. Or I can do more excising and delete more .electron.[tj]s files.

In the mean-time, I would love some feedback!


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/918 **Author:** [@sinistersnare](https://github.com/sinistersnare) **Created:** 4/17/2023 **Status:** ❌ Closed **Base:** `master` ← **Head:** `feature/esbuild` --- ### 📝 Commits (1) - [`46b411f`](https://github.com/actualbudget/actual/commit/46b411fcc3574e0d2a87b5377e72aa3c4e6dd753) Replace Webpack4 in loot-core with esbuild. ### 📊 Changes **30 files changed** (+2070 additions, -3990 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/bin/build-browser` (+1 -1) 📝 `packages/desktop-client/public/static/media/libofx.web.wasm` (+0 -0) 📝 `packages/desktop-client/src/components/manager/subscribe/common.js` (+1 -0) 📝 `packages/import-ynab4/importer.js` (+1 -1) 📝 `packages/import-ynab4/package.json` (+1 -1) 📝 `packages/import-ynab5/importer.js` (+1 -1) 📝 `packages/import-ynab5/package.json` (+1 -1) ➕ `packages/loot-core/.eslintrc` (+8 -0) ➕ `packages/loot-core/bin/build-api` (+14 -0) 📝 `packages/loot-core/bin/build-browser` (+15 -19) ➕ `packages/loot-core/build.mjs` (+94 -0) 📝 `packages/loot-core/jest.config.js` (+7 -0) 📝 `packages/loot-core/jest.web.config.js` (+3 -0) 📝 `packages/loot-core/package.json` (+8 -11) ➖ `packages/loot-core/peg-loader.js` (+0 -9) 📝 `packages/loot-core/src/platform/uuid/index.electron.ts` (+1 -1) 📝 `packages/loot-core/src/platform/uuid/index.web.ts` (+1 -1) 📝 `packages/loot-core/src/server/accounts/export-to-csv.ts` (+1 -1) 📝 `packages/loot-core/src/server/accounts/parse-file.test.ts` (+4 -4) 📝 `packages/loot-core/src/server/accounts/parse-file.ts` (+4 -3) _...and 10 more files_ </details> ### 📄 Description Hi, I hope this is welcome here! It should address [this comment](https://github.com/actualbudget/actual/issues/656#issuecomment-1469008343) on #656. Building with `esbuild` is much faster than Webpack, and I find the build system to be easier to understand. This also unblocks me to work on #730. ~I am marking this as a WIP for now because I need to test on CI. Tests seem to be failing but it works for me locally for the testing I have done, so maybe something is up with my local test env. If I can get the tests working, I will un-WIP this.~ I deleted some code regarding electron. I can try to revive that if yall want. Or I can do more excising and delete more `.electron.[tj]s` files. In the mean-time, I would love some feedback! --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-02-28 20:41:10 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#3405