question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

After 0.11 (but before 0.12) I’m planning to reorganise the repository into a monorepo using Yarn workspaces and re-implement the pegjs module into independent modules that mostly live in @pegjs (with the official grammars in @peg).

Below is a list of modules that I currently plan to implement, but this might change before 0.12 is released.

Modules

Interfaces

  • pegjs A standalone release for Node.js that points to the latest minor release’s (e.g. 0.12.x)
  • @pegjs/browser the browser release (currently a bower package)
  • @pegjs/x A no plugins, single pass, minimal options and speed-only variant (inspired by #348)
  • @pegjs/e adds experimental features to both the grammar and API (testbed for public use)

Issue Analytics

  • State:open
  • Created 6 years ago
  • Reactions:6
  • Comments:6 (1 by maintainers)

github_iconTop GitHub Comments

4reactions
futagozacommented, Apr 24, 2018

@StoneCypher Hold your horse’s mate 😆 Yarn is just an alternative to NPM, so the downstream users can have either NPM, Yarn or the many others that are popping up, without worrying about workspaces because this is a feature that will only be used by the root package.json ("private": true) within this repo, all the sub-modules mentioned above will be independent modules published on NPM that separate different parts of the code and just make life easier for me or anyone developing and/or hacking on the PEG.js compiler.

Also, Rollup and Babel both tackle different problems from each other and Yarn:

  • Yarn is a package manager with workspace support
  • Rollup is a bundler like Browserify, only it removes dead-end code
  • Babel is an ES2018+ to ES* transpiler
0reactions
StoneCyphercommented, Feb 3, 2020

So, you forced me into yarn. Several of the PRs from other people that you have refused to merge have tried to take it back out, because yarn is dying, and a low quality tool that doesn’t work well on Windows.

yarn offers no value.

yarn offers a significant barrier - many people won’t install a new package manager to help you (I refused several times before breaking down,) and many other people aren’t allowed to because of work policy.

The behavior of npm has changed. yarn has not kept up. yarn behavior now significantly differs from community expectations.

The monorepo also does not provide value, creates a complex extra build step, defies norms, and confuses potential contributors.

All of this was much more work than the feature work you aren’t doing.

I think you may have gotten confused about the nature of my objection.

This is wasted work that makes it harder for people to join (not that it matters, since as of last month you made it literally impossible for anyone to contribute to what you now call “your hobby project,” and expect to wholesale replace.)

This slows down the build, and loses the new tooling that npm has that yarn does not.

Yarn was dying in 2018. It’s 2020. Yarn’s basically dead now.

I haven’t had it installed on any of my computers for years. I had to reinstall it for you.

Please let this be a normal project with normal healthy development patterns again, instead of your private codebase using fringe tools that goes three years without a release despite extremely important codebase fixes in the repo.

Yes, I see you trying to explain what yarn does, but everyone knows what yarn does.

You created exactly the new infrastructure I asked you not to create two years ago, and you’re currently throwing it away for exactly the reasons I said it wouldn’t work.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Workspaces - Yarn
Workspaces are a new way to set up your package architecture that's available by default starting from Yarn 1.0. It allows you to...
Read more >
Yarn workspaces — monorepo beginner's guide - Medium
Yarn Workspaces is a feature that allows users to install dependencies from multiple package.json files in subfolders of a single root package.json file,...
Read more >
Yarn Workspaces: Organize Your Project's Codebase Like A Pro
Yarn is a package manager by the folks at Facebook, and it has a great feature called Yarn workspaces. Yarn workspaces let you...
Read more >
Yarn workspace tutorial, introduction and cheatsheet
It allows you to setup multiple packages in such a way that you only need to run yarn install once to install all...
Read more >
Monorepo Javascript Projects with Yarn Workspaces and Lerna
Yarn workspaces are used to optimize dependency management. When we use yarn workspaces, all project dependencies are installed in one go. Tools ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found