Bug#977900: node-autoprefixer: FTBFS: ENOENT: no such file or directory, open 'path'

2020-12-26 Thread Akshay S Dinesh

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'

2020-12-26 Thread Pirate Praveen
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'

2020-12-25 Thread Pirate Praveen
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'

2020-12-25 Thread Pirate Praveen
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'

2020-12-24 Thread Pirate Praveen

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'

2020-12-22 Thread Andreas Beckmann
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