Hi Pravi, see below

Il 14/09/20 19:01, Pirate Praveen ha scritto:
> 
> 
> On Mon, Sep 14, 2020 at 17:12, Paolo Greppi <paolo.gre...@libpf.com> wrote:
>> #960120 is keeping yarnpkg out of testing; there are two ways to resolve 
>> this:
>>
>> 1. work with upstream to fix this mess (not likely to happen as upstream 
>> seems unresponsive)
>>
>> 2. revert the changes that caused the issue; the last successful salsa CI 
>> pipeline I can find is this one:
>> https://salsa.debian.org/js-team/node-yarnpkg/-/commit/877478d5ef3f8a7564cdea211e5cd794fdfb97b5
>> so just revert all changes to this repo and the build deps to this status
>>
>> I urge those who caused the mess fix it.
> 
> Hi Paolo,
> 
> We discussed about plan to remove babel 6 from bullseye from the very 
> beginning as upstream won't be supporting it for the life time of bullseye. 
> You can look at the list archive for those mails. I think it is only normal 
> to move to new upstream versions of libraries. We also sent list of affected 
> packages frequently to the list. No one suggested to keep babel 6 in testing 
> at that time. You had a chance to request keeping babel 6 before it was 
> removed as well. Marking for autoremoval was also a warning (node-yarnpkg was 
> also marked for auto removal when I filed rc bug against node-babel), you 
> could have requested keeping babel 6 for longer, though eventually it has to 
> be removed from bullseye if no one steps up to maintain it.
> 
> If someone wants to keep babel 6, they have to step in and take up 
> maintenance. Or you could even embed babel 6 in yarnpkg as it is the only 
> package currently in the archive that does not work without babel 7. 
> Introducing babel 6 back in testing means supporting babel 6 and 7 for the 
> life time of bullseye. Are you prepared to do that? If someone volunteers to 
> maintain babel 6 in bullseye, we can still introduce it back, though my 
> preference would be to fix yarnpkg or wait for yarnpkg 2 (which supports 
> babel 7 already), even if it means missing bullseye and getting it in 
> bullseye-backports.
> 
> This is nothing specific to yarnpkg here, that is how every library 
> transition works. For example in ruby team, we moved to rails 6 and the 
> packages that did not support rails 6 were removed from testing (applications 
> like redmine, open-build-system and diaspora were not compatible with rails 
> 6). We cannot expect old versions of libraries will be supported forever in 
> debian.
> 
> Thanks
> Praveen

Probably we don't need babel.

I made a test in the clean upstream source tree, with a bin/yarn.mjs binary 
tweaked to load the source from ../src rather than the transpiled & bundled 
stuff from ../lib:

    #!/usr/bin/env node
    import * as cli from '../src/cli/index.mjs';
    cli.default().catch(function(error) {
      console.error(error.stack || error.message || error);
      process.exitCode = 1;
    });

For my test, I manually removed all type annotations from src/cli/index.js and 
saved it to src/cli/index.mjs

I can run this both in nodejs 12 (there is the "ExperimentalWarning: The ESM 
module loader is experimental.") and node 14 from experimental (no warning).
It parses that first file OK, but does not find the modules in 
/usr/share/nodejs/:

    Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'commander' imported from 
/root/yarn/src/cli/index.mjs

This and the similar errors can be addressed like this:

    7c7
    < import commander from 'commander';
    ---
    > import commander from '/usr/share/nodejs/commander/index.js';

Of course we need an automated tool to strip the type annotations and fix the 
module lookups.

The typescript transform from this babel replacement should do the first job:
https://github.com/alangpierce/sucrase
And probably webpack can do the second.

In any case I attach the patched src/cli/index.mjs file.

What do you think, is this a viable route, or do we have an alternative ?

Paolo

Attachment: index.mjs.txt.gz
Description: application/gzip

-- 
Pkg-javascript-devel mailing list
Pkg-javascript-devel@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-javascript-devel

Reply via email to