[Pkg-javascript-devel] babel 7 bootstrap problem and reify

Pirate Praveen praveen at onenetbeyond.org
Tue Jan 21 11:47:20 GMT 2020



On ചൊ, Jan 21, 2020 at 14:40, Pirate Praveen 
<praveen at onenetbeyond.org> wrote:
> 
> 
> On ചൊ, Jan 21, 2020 at 14:28, Pirate Praveen 
> <praveen at onenetbeyond.org> wrote:
>> 
>> 
>> On ചൊ, Jan 21, 2020 at 13:20, Pirate Praveen 
>> <praveen at onenetbeyond.org> wrote:
>>> 
>>> 
>>> On തി, Jan 20, 2020 at 21:45, Pirate Praveen 
>>> <praveen at onenetbeyond.org> wrote:
>>>> Hi,
>>>> 
>>>> Just came across this module today 
>>>> https://github.com/benjamn/reify I was wondering if we could 
>>>> use this module to load ES6 files of babel directly (as we 
>>>> are stuck trying to build babel 7 and it needs babel 7 to 
>>>> build).
>>>> 
>>>> Comments?
>>>> 
>>>> Praveen
>>>> 
>>> 
>>> With the following lines in .babelrc, some packages/* can be build 
>>> with babeljs 6.
>>> 
>>> {
>>>  "presets": [
>>>      "env",
>>>      "flow"
>>>  ],
>>>  "plugins": [
>>>    [
>>>      "transform-object-rest-spread",
>>>    ]
>>>  ],
>>> }
>>> 
>>> babeljs packages/babel-plugin-proposal-class-properties/src -d 
>>> packages/babel-plugin-proposal-class-properties/lib
>>> 
>>> packages/babel-plugin-proposal-class-properties/src/index.js -> 
>>> packages/babel-plugin-proposal-class-properties/lib/index.js
>>> 
>>> But some packages are using babel 7 only plugins. For example, 
>>> building babel-core fails with this error. Anyone knows which 
>>> plugin is used here?
>>> 
>>> babeljs packages/babel-core/src/ -d packages/babel-core/lib
>>> SyntaxError: packages/babel-core/src/config/caching.js: Unexpected 
>>> token (49:56)
>>>  47 | handler: (ArgT, CacheConfigurator<SideChannel>) => 
>>> Handler<ResultT> | ResultT,
>>>  48 | ): (ArgT, SideChannel) => Handler<ResultT> {
>>> > 49 | return makeCachedFunction<ArgT, ResultT, SideChannel, 
>>> *>(WeakMap, handler);
>>>     | ^
>>>  50 | }
>>>  51 |
>>>  52 | export function makeWeakCacheSync<ArgT, ResultT, SideChannel>(
>> 
>> Jishnu identified it as flow syntax and probably we can get rid of 
>> it with an updated version of
>> https://www.npmjs.com/package/flow-remove-types
> 
> And this requires packaging flow-parser which is written in OCaml. 
> Anyone here familar with OCaml? Any comments if this route is worth 
> pursuing?

Even with the updated flow-remove-types, we are only half way. It 
requires babel 7 versions of many plugins like class-properties (babel 
6 versions don't work).

So I think the only way to update it is via contrib, ie, use babel 7 
from npmjs.com to bootstrap (since build dependency is not in debian, 
it has to go to contrib). Once we have a babel 7 package, it can build 
itself.





More information about the Pkg-javascript-devel mailing list