roots / bud

High-performance build system that supports SWC, esbuild, and Babel
https://bud.js.org/
MIT License
339 stars 38 forks source link

Support Windows without WSL #2635

Open retlehs opened 2 months ago

retlehs commented 2 months ago

bud.js currently only supports folks on Windows if you're within a WSL environment, but we'd like to officially support Windows without WSL

When trying to run a stock Sage 10 build on Windows, you get hit with this error:

✘ Could not import @roots/bud-framework/env

[!NOTE]
This error can also occur at times in non-Windows environments — if you've ended up on this issue after searching for that error and you are not attempting to run bud.js on Windows, then please search this repo's issues or on https://discourse.roots.io/ for your problem

If you're reached this issue and you're using Windows, then you must use WSL for now

Some output of yarn bud build --log --no-dashboard on a Windows machine:

[module] » [cache miss] path: @roots/bud-build => C:\Users\focus\Downloads\sage\node_modules\@roots\bud-build\lib\index.js
[module] » [cache miss] path: @roots/bud-cache => C:\Users\focus\Downloads\sage\node_modules\@roots\bud-cache\lib\index.js
[module] » [cache miss] path: @roots/bud-compiler => C:\Users\focus\Downloads\sage\node_modules\@roots\bud-compiler\lib\index.js
[module] » [cache miss] path: @roots/bud-dashboard => C:\Users\focus\Downloads\sage\node_modules\@roots\bud-dashboard\lib\index.js
[module] » [cache miss] path: @roots/bud-extensions => C:\Users\focus\Downloads\sage\node_modules\@roots\bud-extensions\lib\index.js
[module] » [cache miss] path: @roots/bud-framework/project => C:\Users\focus\Downloads\sage\node_modules\@roots\bud-framework\lib\project.js
[module] » Could not import module: @roots/bud-framework/env Removing from cached module registry. Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'
at throwIfUnsupportedURLScheme (node:internal/modules/esm/load:239:11)
at defaultLoad (node:internal/modules/esm/load:130:3)
at ModuleLoader.load (node:internal/modules/esm/loader:409:13)
at ModuleLoader.moduleProvider (node:internal/modules/esm/loader:291:56)
at new ModuleJob (node:internal/modules/esm/module_job:65:26)
at #createModuleJob (node:internal/modules/esm/loader:303:17)
at ModuleLoader.getJobFromResolveResult (node:internal/modules/esm/loader:260:34)
at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:241:17)
at async ModuleLoader.import (node:internal/modules/esm/loader:328:23) {
code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}
[module] » Could not import module: @roots/bud-hooks Removing from cached module registry. Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'
at throwIfUnsupportedURLScheme (node:internal/modules/esm/load:239:11)
at new ModuleJob (node:internal/modules/esm/module_job:65:26)
at #createModuleJob (node:internal/modules/esm/loader:303:17)
at ModuleLoader.getJobFromResolveResult (node:internal/modules/esm/loader:260:34)
at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:241:17)
at async ModuleLoader.import (node:internal/modules/esm/loader:328:23) {
code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}
[module] » Could not import module: @roots/bud-framework/project Removing from cached module registry. Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'
at throwIfUnsupportedURLScheme (node:internal/modules/esm/load:239:11)
at defaultLoad (node:internal/modules/esm/load:130:3)
at ModuleLoader.load (node:internal/modules/esm/loader:409:13)
at ModuleLoader.moduleProvider (node:internal/modules/esm/loader:291:56)
at new ModuleJob (node:internal/modules/esm/module_job:65:26)
at #createModuleJob (node:internal/modules/esm/loader:303:17)
at ModuleLoader.getJobFromResolveResult (node:internal/modules/esm/loader:260:34)
at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:241:17)
at async ModuleLoader.import (node:internal/modules/esm/loader:328:23) {
code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}
BudError

x Could not import @roots/bud-framework/env

i Stack trace

  at Module.import (/C:/Users/focus/Downloads/sage/node_modules/@roots/bud-framework/lib/module.js:141:28)
  at async /C:/Users/focus/Downloads/sage/node_modules/@roots/bud-framework/lib/bootstrap.js:93:21
github-actions[bot] commented 2 weeks ago

Message to comment on stale issues. If none provided, will not mark issues stale