Bug#977900: node-autoprefixer: FTBFS: ENOENT: no such file or directory, open 'path'
A few observations. 1) The commit https://github.com/rollup/plugins/commit/1459cf0ab5e5eb7beee46f52bc4dbbb88d3e4335#diff-c68d63c5e10e04a850c0ea8abd479dbb77c794b3aadecf91483dcf3df96156df which prevents exceptions from being silently ignored maybe the reason why this is starting to err. 2) See this build log: https://salsa.debian.org/js-team/node-autoprefixer/-/jobs/1280125 Line 1757 has the dh_auto_configure output dh_auto_configure --buildsystem=nodejs -O--package=node-autoprefixer mkdir node_modules ln -s ../fractionjs node_modules/fraction.js debian/rules override_dh_auto_build It only symlinks fractionjs. I don't really read perl, but I think https://salsa.debian.org/js-team/pkg-js-tools/-/blob/master/lib/Debian/Debhelper/Buildsystem/nodejs.pm#L128 says this: next if $self->main_package and $component eq $self->main_package; which probably means it will skip a component of the same name as the package. Here, component autoprefixer is probably clashing with the name "node-autoprefixer". On line 1770 this causes (!) Circular dependency autoprefixer.js -> autoprefixer.js where another filename clash makes import from "autoprefixer" to resolve to build/autoprefixer.js (probably because it doesn't have an autoprefixer in node_modules because of dh_auto_configure above) 3) https://salsa.debian.org/js-team/node-autoprefixer/-/blob/master/debian/patches/rearrange-plugins-order.patch seems to revert the changes to nodeResolve.customResolveOptions.moduleDirectory in the first patch. Akshay
Bug#977900: node-autoprefixer: FTBFS: ENOENT: no such file or directory, open 'path'
On Fri, 25 Dec 2020 20:58:20 +0530 Pirate Praveen wrote: > Now with updated @rollup/plugin-node-resolve > > (debian-sid)pravi@ilvala2:~/forge/js-team/autoprefixer-rails-10.1.0.0/build$ > yarnpkg upgrade @rollup/plugin-node-resolve@^10.0.0 > yarn upgrade v1.22.10 > [1/4] Resolving packages... > [2/4] Fetching packages... > info fsevents@2.1.3: The platform "linux" is incompatible with this > module. > info "fsevents@2.1.3" is an optional dependency and failed > compatibility check. Excluding it from installation. > [3/4] Linking dependencies... > [4/4] Rebuilding all packages... > success Saved lockfile. > success Saved 1 new dependency. > info Direct dependencies > └─ @rollup/plugin-node-resolve@10.0.0 > info All dependencies > └─ @rollup/plugin-node-resolve@10.0.0 > Done in 3.75s. > In case we are not able to fix this error with version 10, I plan to embed version 9 of this plugin. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.
Bug#977900: node-autoprefixer: FTBFS: ENOENT: no such file or directory, open 'path'
Control: forwarded -1 https://github.com/ai/autoprefixer-rails/issues/199 On Fri, 25 Dec 2020 14:51:34 +0530 Pirate Praveen wrote: > Even though the build now succeed, it is producing a broken output. Size of autoprefixer.js dropped from 4.5 mb to 900 kb. It should bundle postcss and polyfills. > > It may be because newer versions of browsers supporting new features without polyfills. But we need to confirm it. > > One way could be building the upstream code with build dependencies matching the versions in debian. rollup, its plugins or caniuse-db/browserslist update may have caused this change. This seems to be caused by @rollup/plugin-node-resolve 10. Running build in upstream repo with updated @rollup/plugin-node-resolve throws a similar error. With upsteam yarn.lock and yarnpkg install, (debian-sid)pravi@ilvala2:~/forge/js-team/autoprefixer-rails-10.1.0.0/build$ yarnpkg run rollup -c yarn run v1.22.10 $ /home/pravi/forge/js-team/autoprefixer-rails-10.1.0.0/build/node_modules/.bin/rollup -c autoprefixer.js → ../vendor/autoprefixer.js... created ../vendor/autoprefixer.js in 8s Done in 8.47s. Now with updated @rollup/plugin-node-resolve (debian-sid)pravi@ilvala2:~/forge/js-team/autoprefixer-rails-10.1.0.0/build$ yarnpkg upgrade @rollup/plugin-node-resolve@^10.0.0 yarn upgrade v1.22.10 [1/4] Resolving packages... [2/4] Fetching packages... info fsevents@2.1.3: The platform "linux" is incompatible with this module. info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation. [3/4] Linking dependencies... [4/4] Rebuilding all packages... success Saved lockfile. success Saved 1 new dependency. info Direct dependencies └─ @rollup/plugin-node-resolve@10.0.0 info All dependencies └─ @rollup/plugin-node-resolve@10.0.0 Done in 3.75s. $ yarnpkg run rollup -c yarn run v1.22.10 $ /home/pravi/forge/js-team/autoprefixer-rails-10.1.0.0/build/node_modules/.bin/rollup -c autoprefixer.js → ../vendor/autoprefixer.js... [!] Error: Could not load process (imported by node_modules/postcss/lib/postcss.js): ENOENT: no such file or directory, open 'process' Error: Could not load process (imported by node_modules/postcss/lib/postcss.js): ENOENT: no such file or directory, open 'process' error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Bug#977900: node-autoprefixer: FTBFS: ENOENT: no such file or directory, open 'path'
Control: reopen -1 On Thu, 24 Dec 2020 20:44:50 +0530 Pirate Praveen wrote: > It is fixed by changing the order of plugins used in rollup.config.js, > rollup-plugin-polyfills should come before commonjs and node-resolve > plugins. Even though the build now succeed, it is producing a broken output. Size of autoprefixer.js dropped from 4.5 mb to 900 kb. It should bundle postcss and polyfills. It may be because newer versions of browsers supporting new features without polyfills. But we need to confirm it. One way could be building the upstream code with build dependencies matching the versions in debian. rollup, its plugins or caniuse-db/browserslist update may have caused this change. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.
Bug#977900: node-autoprefixer: FTBFS: ENOENT: no such file or directory, open 'path'
Control: tags -1 pending On Tue, 22 Dec 2020 16:25:36 +0100 Andreas Beckmann wrote: > debian/autoprefixer.js → dist/autoprefixer.js... > [!] Error: Could not load path (imported by ./../usr/share/nodejs/postcss/lib/map-generator.js): ENOENT: no such file or directory, open 'path' > Error: Could not load path (imported by ./../usr/share/nodejs/postcss/lib/map-generator.js): ENOENT: no such file or directory, open 'path' > > make[1]: *** [debian/rules:14: override_dh_auto_build] Error 1 > make[1]: Leaving directory '/build/node-autoprefixer-10.0.0' > make: *** [debian/rules:11: binary] Error 2 > > A previous build on Oct 28 has been successful, so this current failure is probably > caused by some updated (transitive) build-depends. It is fixed by changing the order of plugins used in rollup.config.js, rollup-plugin-polyfills should come before commonjs and node-resolve plugins.
Bug#977900: node-autoprefixer: FTBFS: ENOENT: no such file or directory, open 'path'
Source: node-autoprefixer Version: 10.0.0-1 Severity: serious Tags: ftbfs Justification: fails to build from source Hi, node-autoprefixer/experimental recently started to FTBFS: debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure --buildsystem=nodejs mkdir node_modules ln -s ../colorette node_modules/colorette ln -s ../num2fraction node_modules/num2fraction debian/rules override_dh_auto_build make[1]: Entering directory '/build/node-autoprefixer-10.0.0' rollup --config debian/rollup.config.js debian/autoprefixer.js → dist/autoprefixer.js... [!] Error: Could not load path (imported by ../../usr/share/nodejs/postcss/lib/map-generator.js): ENOENT: no such file or directory, open 'path' Error: Could not load path (imported by ../../usr/share/nodejs/postcss/lib/map-generator.js): ENOENT: no such file or directory, open 'path' make[1]: *** [debian/rules:14: override_dh_auto_build] Error 1 make[1]: Leaving directory '/build/node-autoprefixer-10.0.0' make: *** [debian/rules:11: binary] Error 2 A previous build on Oct 28 has been successful, so this current failure is probably caused by some updated (transitive) build-depends. Andreas node-autoprefixer_10.0.0-1.log.gz Description: application/gzip