We currently have a frustrating series of roadblocks for developers on M1/silicon devices that require them to perform several workarounds such as downgrading Node to v14 and running Terminal in Rosetta mode in order to work on EUI.
The primary culprit of these issues is node-sass (sass/node-sass#3033). There have also been several reports of nodegit being an issue, which I intend to investigate after node-sass has been removed.
Steps required to move EUI off of node-sass:
- Replacing Sass dependencies that depend on
node-sass:
Steps required to move EUI off of nodegit:
nodegit currently has multiple alpha releases, the latest of which appear to address ARM64 issues: https://github.com/nodegit/nodegit/blob/master/CHANGELOG.md
We should try upgrading to the latest alpha release to see if that resolves arm64 errors. If not, we can alternatively consider:
- using
exec instead to call git CLI commands
- using bash scripts instead of node.js
We currently have a frustrating series of roadblocks for developers on M1/silicon devices that require them to perform several workarounds such as downgrading Node to v14 and running Terminal in Rosetta mode in order to work on EUI.
The primary culprit of these issues is
node-sass(sass/node-sass#3033). There have also been several reports ofnodegitbeing an issue, which I intend to investigate afternode-sasshas been removed.Steps required to move EUI off of
node-sass:node-sass:sass-extract(Removesass-extractdependency #6443).jsonand.json.d.tsfiles to source control until we figure out how to transition Kibana over smoothly.sass-vars-to-js-loader(Removesass-vars-to-js-loaderdependency #6444)sass-lintandsass-lint-auto-fix(Replacesass-lintdependency withstylelint#6470)stylelint(assass-lintis deprecated in any case), which additionally supports linting CSS-in-JSnode-sasswithsass(aka dart-sass) (Removenode-sassin favor of dartsass#6474)node-sassfrom a prebuilt version that they host, that supports arm64Steps required to move EUI off of
nodegit:nodegitdependency #6471nodegitcurrently has multiple alpha releases, the latest of which appear to address ARM64 issues: https://github.com/nodegit/nodegit/blob/master/CHANGELOG.mdWe should try upgrading to the latest alpha release to see if that resolves arm64 errors. If not, we can alternatively consider:
execinstead to call git CLI commands