{"_id":"l-other-data","_rev":"1-9ba23441d24af0da3c0d390ce8e568cd","name":"l-other-data","dist-tags":{"latest":"1.6.0"},"versions":{"1.6.0":{"name":"l-other-data","version":"1.6.0","description":"A monorepo task runner","repository":{"url":"git+https://github.com/microsoft/lage.git"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"lage":"bin/lage.js"},"scripts":{"build":"tsc","change":"beachball change","checkchange":"beachball check","decks:build":"marp -I decks --pdf -o docs/.vuepress/dist/decks","docs":"vuepress dev docs --host localhost","docs:build":"vuepress build docs","gen-typedoc":"ts-node --transpile-only scripts/gen-typedoc.ts","gh-pages":"gh-pages","release":"beachball publish -y","release:docs":"yarn gen-typedoc && yarn docs:build && yarn decks:build && yarn gh-pages -d docs/.vuepress/dist --dotfiles","start":"tsc -w --preserveWatchOutput","test":"jest"},"resolutions":{"mermaid":"8.6.4","watchpack":"1.6.1"},"dependencies":{"@xmldom/xmldom":"^0.8.0","abort-controller":"^3.0.0","backfill":"^6.1.13","backfill-cache":"^5.3.0","backfill-config":"^6.2.0","backfill-logger":"^5.1.3","bullmq":"^1.50.2","chalk":"^4.0.0","cosmiconfig":"^6.0.0","execa":"^4.0.3","fast-glob":"^3.2.2","git-url-parse":"^11.1.2","ioredis":"^4.28.0","npmlog":"^4.1.2","p-graph":"^1.1.1","p-limit":"^3.1.0","p-other-data":"^0.3.0","workspace-tools":"^0.18.2","yargs-parser":"^18.1.3"},"devDependencies":{"@marp-team/marp-cli":"^0.20.0","@types/chalk":"^2.2.0","@types/cosmiconfig":"^6.0.0","@types/execa":"^2.0.0","@types/git-url-parse":"^9.0.0","@types/ioredis":"^4.27.7","@types/jest":"^27.0.1","@types/node":"^12.0.0","@types/npmlog":"^4.1.2","@types/p-queue":"^3.2.1","@types/yargs-parser":"^15.0.0","beachball":"^2.16.0","gh-pages":"^2.2.0","jest":"^27.2.0","renovate":"^23.42.2","ts-jest":"^27.0.5","ts-node":"^8.10.2","typedoc":"^0.17.8","typedoc-plugin-markdown":"^2.3.1","typescript":"^4.4.4","vuepress":"^1.5.3","vuepress-plugin-mermaidjs":"^1.6.0"},"gitHead":"0b31e2c49e8172470ba2a6eb5952740d87af4140","bugs":{"url":"https://github.com/microsoft/lage/issues"},"homepage":"https://github.com/microsoft/lage#readme","_id":"l-other-data@1.6.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-DDALv8PTKTBvcqmDbCaKDESD1RL2eCXjgPsoXMArfv7L3/VRxiGGt7INP1kFPQdtyZccobx3x0u/0VrDkyPD4g==","shasum":"cc3b30b5bba30a15d160efb1194aac7af839057e","tarball":"https://registry.npmjs.org/l-other-data/-/l-other-data-1.6.0.tgz","fileCount":211,"unpackedSize":643619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOtsYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpN2Q/+JTPtXjXBj4uh/7fwgnbbq6ePPKIBxoDNLlGw8hJQARcI5irZ\r\n5p+pODceJI/q90NZIVwG5Xll+T47g4kcKTuwkargB9uVD6UfAPBx5VW8rjY5\r\nCsauiErM+yOmg36Qobkb6AisrdnWXbhv4gzOqKnOV1bmpTpydAm1h+J1Y3n9\r\nJYT3kvJr2lJ5dW8rvonzrON9AbZyR4v+3WU1XVnJgSJorPgeXjrw9pMtaCCU\r\n/DzAxVBEd4HH7qyj3PwDLY9MzcYKHistOyhPbfm+k6Rv2h/YoHWkRvKJ9lJj\r\nMPmc5U5xCeSpvzLWMHbmr1bNQovv8zt2n2XQZNUPNsoHyKMnp0rurrAfa+8B\r\ntP7cwt7d8+z5Bv8pWBjO6zi5eKIS/x9gMJWPvwmYFO4E3DHrvi914QvFY609\r\nJWawctDc+4Fb0LfOr51Cg7aVQkgq4IDZz4S3Fv8UZLEJGlp7x/O1Ke/HOOFf\r\nHyBHvTzf7XT7Kl2NpXpigS0gMqmLULlxDiDgkMe970Yyh7bHvimrbCLS2ljr\r\nI9jekDbnaFwbjyfcJZXXtI3vcnadz4GmGXanrFVqX7m9Z9jkFTM6YcYNTVTn\r\n+o94azcP8ye2s+lRu9UfXKwYMwEFwni2hOwxGP5VgHtwij2ZhRtrFT2Aj3wM\r\nUsDAXdMAV3mWJPupJ1UvbXJqj11Ga2G09y0=\r\n=1DMr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA/MndplcV9kkg644CVeEQ80xEwoCrm0Eih4cOZ2o9pCAiEAqQRn3fN+Ewtgjltpdsk3NdG7vlebG0Rw5QKGimpvCYo="}]},"_npmUser":{"name":"ronakjain-public","email":"ronakjain.public@gmail.com"},"directories":{},"maintainers":[{"name":"ronakjain-public","email":"ronakjain.public@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/l-other-data_1.6.0_1648024344104_0.8800840385632946"},"_hasShrinkwrap":false}},"time":{"created":"2022-03-23T08:32:24.104Z","1.6.0":"2022-03-23T08:32:24.546Z","modified":"2022-05-07T14:03:27.565Z"},"maintainers":[{"name":"ronakjain-public","email":"ronakjain.public@gmail.com"}],"description":"A monorepo task runner","homepage":"https://github.com/microsoft/lage#readme","repository":{"url":"git+https://github.com/microsoft/lage.git"},"bugs":{"url":"https://github.com/microsoft/lage/issues"},"license":"MIT","readme":"# lage\r\n\r\nThis is the UNSTABLE branch. All package published from this branch will be tagged as `lage@unstable`. When we have confirmed stability for v1.x branch, then we'll promote it to be stable.\r\n\r\nDocumentation is here: https://microsoft.github.io/lage/\r\n\r\n## Overview\r\n\r\nYour JS repo has gotten large enough that you have turned to using a tool to help you manage multiple packages inside a repository. That's great! However, you realized quickly that the tasks defined inside the workspace have to be run in package dependency order.\r\n\r\nLerna, Rush, wsrun and even pnpm will provide a simple way for you to run npm scripts to be run in a topological order. However, these tools will force you to run your tasks by script name one at a time. For example, all the `build` scripts will have to run first. Then all the `test` scripts run in the topological order.\r\n\r\nThis usually means that there are wasted CPU cycles in between `build` and `test`. We can achieve better pipelining the npm scripts if we had a way to say that `test` can run as soon as `build` are done for the package.\r\n\r\n`lage` (Norwegian for \"make\", pronounced law-geh) solves this by providing a terse pipelining syntax. It has many features geared towards speeding up the task runner that we'll explore later.\r\n\r\n## Quick Start\r\n\r\n`lage` gives you this capability with very little configuration. First, let's install the `lage` utility. You can place this in your workspace's root `package.json` by running `yarn add`:\r\n\r\n```\r\nyarn add -D lage\r\n```\r\n\r\nConfirm with `yarn` that you are sure to add a package at the root level, you then place a root level script inside the `package.json` to run `lage`:\r\n\r\n```\r\n{\r\n  \"scripts\": {\r\n    \"build\": \"lage build\",\r\n    \"test\": \"lage test\"\r\n  }\r\n}\r\n```\r\n\r\nAdd a configuration file in the root to get started. Create this file at the root `lage.config.js`:\r\n\r\n```js\r\nmodule.exports = {\r\n  pipeline: {\r\n    build: [\"^build\"],\r\n    test: [\"build\"],\r\n  },\r\n};\r\n```\r\n\r\nDo not worry about the syntax for now. We will go over the configuration file in a coming section. You can now run this command:\r\n\r\n```\r\n$ lage test\r\n```\r\n\r\n`lage` will detect that you need to run `build` steps before `test`s are run.\r\n\r\n\r\n\r\n# Contributing\r\n\r\nThis project welcomes contributions and suggestions.  Most contributions require you to agree to a\r\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\r\nthe rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.\r\n\r\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\r\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\r\nprovided by the bot. You will only need to do this once across all repos using our CLA.\r\n\r\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\r\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\r\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\r\n","readmeFilename":"README.md"}