{"id":4153,"date":"2023-03-10T17:56:40","date_gmt":"2023-03-10T08:56:40","guid":{"rendered":"https:\/\/weseek.co.jp\/tech\/?p=4153"},"modified":"2023-04-17T10:25:30","modified_gmt":"2023-04-17T01:25:30","slug":"lerna-v6-lerna-nx-%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e8%a7%a3%e8%aa%ac","status":"publish","type":"post","link":"https:\/\/weseek.co.jp\/tech\/4153\/","title":{"rendered":"Lerna v6 (Lerna + Nx) \u306b\u3064\u3044\u3066\u89e3\u8aac"},"content":{"rendered":"<p>\u30b7\u30b9\u30c6\u30e0\u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u86f8\u4e95\u3067\u3059\u3002\u4eca\u56de\u306f Lerna \u306b\u3064\u3044\u3066\u3068 Lerna v6 \u306e Nx \u306e\u6a5f\u80fd\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n<p><!--more--><\/p>\n\n<h2><a href=\"https:\/\/lerna.js.org\/\">Lerna<\/a> \u3068\u306f<\/h2>\n<p>Lerna \u3068\u306f monorepo \u30c4\u30fc\u30eb\u3067\u3059\u3002<\/p>\n<p>monorepo \u3068\u306f\u30011\u3064\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3067\u8907\u6570\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u7ba1\u7406\u3059\u308b\u3053\u3068\u3092\u8a00\u3044\u307e\u3059\u3002<\/p>\n<p>monorepo \u306e\u30e1\u30ea\u30c3\u30c8\u3068\u3057\u3066\u3001\u4f8b\u3048\u3070\u4ee5\u4e0b\u306e\u3053\u3068\u304c\u6319\u3052\u3089\u308c\u307e\u3059\u3002<\/p>\n<ul>\n<li>\u30ea\u30dd\u30b8\u30c8\u30ea\u5185\u306e\u8907\u6570\u306e\u30b5\u30fc\u30d3\u30b9\u9593\u3067\u30b3\u30fc\u30c9\u3092\u5171\u6709\u3067\u304d\u308b<\/li>\n<li>\u30b5\u30fc\u30d3\u30b9\u3092\u6a2a\u65ad\u3057\u3066\u306e\u30c6\u30b9\u30c8\u304c\u3067\u304d\u308b<\/li>\n<li>\u30ea\u30ea\u30fc\u30b9\u304c\u7ba1\u7406\u3057\u3084\u3059\u3044<\/li>\n<li>\u30b5\u30fc\u30d3\u30b9\u6bce\u306b\u5171\u901a\u3057\u305f\u30eb\u30fc\u30eb\u306e lint \u306a\u3069\u306e\u30c4\u30fc\u30eb\u3092\u4f7f\u7528\u3067\u304d\u308b<\/li>\n<\/ul>\n<p>Lerna \u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u8907\u6570\u306e node \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u307e\u3068\u3081\u3066\u7ba1\u7406\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><code>lerna bootstrap<\/code> \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u5404\u30b5\u30fc\u30d3\u30b9\u306e <code>package.json<\/code> \u3092\u5143\u306b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4e00\u62ec\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3001\u3055\u3089\u306b\u540c\u3058\u7a2e\u985e\u30fb\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5171\u901a\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>evocateur \u3055\u3093\u304c\u958b\u767a\u3057\u3066\u3044\u305f Lerna \u306f version 4.0.0 \u306b\u3066\u958b\u767a\u304c\u505c\u6b62\u3057\u307e\u3057\u305f\u304c\u3001Nx \u3068\u3044\u3046 monorepo \u30c4\u30fc\u30eb\u3092\u958b\u767a\u3057\u3066\u3044\u308b Nrwl \u793e\u304c\u958b\u767a\u3092\u5f15\u304d\u7d99\u304e v5, v6 \u3092\u30ea\u30ea\u30fc\u30b9\u3057\u307e\u3057\u305f\u3002<\/p>\n<h2>Lerna v5 \u306e\u5909\u66f4\u70b9<\/h2>\n<p>Lerna v5 \u306b\u3066 Lerna \u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u6a5f\u80fd\u304c\u5099\u308f\u308a\u307e\u3057\u305f\u3002<\/p>\n<p><code>lerna.json<\/code> \u3067 useNx \u30d5\u30e9\u30b0\u3092\u6709\u52b9\u306b\u3059\u308b\u3053\u3068\u3067 Nx \u3068\u540c\u7b49\u306e\u901f\u5ea6\u306b\u306a\u308a\u3001\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u8a2d\u5b9a\u306b\u3082\u3088\u308a\u307e\u3059\u304c\u4ee5\u524d\u306e Lerna \u3068\u6bd4\u8f03\u3057\u30662\uff5e10\u500d\u306e\u30b9\u30d4\u30fc\u30c9\u30a2\u30c3\u30d7\u304c\u671f\u5f85\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u53c2\u8003\uff1a<a href=\"https:\/\/blog.nrwl.io\/lerna-used-to-walk-now-it-can-fly-eab7a0fe7700\">https:\/\/blog.nrwl.io\/lerna-used-to-walk-now-it-can-fly-eab7a0fe7700<\/a><\/p>\n<h2>Lerna v6 \u306e\u5909\u66f4\u70b9<\/h2>\n<p>Lerna v6 \u3067\u306f\u3001\u5148\u307b\u3069\u7d39\u4ecb\u3057\u305f useNx \u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u6709\u52b9\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f <code>lerna add-caching<\/code> \u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001Nx \u306e\u6a5f\u80fd\u306e\u8a2d\u5b9a\u3092\u8a18\u8f09\u3059\u308b <code>nx.json<\/code> \u3092\u751f\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>nx.json \u306b\u306f\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre><code class=\"language-json\">\/\/ nx.json\n{\n  ...\n  &quot;targetDefaults&quot;: {\n    &quot;build&quot;: {\n      &quot;dependsOn&quot;: [&quot;^build&quot;]\n    },\n    &quot;dev&quot;: {\n      &quot;dependsOn&quot;: [&quot;^build&quot;]\n    }\n  }\n}<\/code><\/pre>\n<p>\u4f8b\u3048\u3070 <code>nx.json<\/code> \u3092\u4e0a\u8a18\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001build \u304b dev \u306e\u3069\u3061\u3089\u304b\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3057\u305f\u5834\u5408\u306b Lerna \u306f\u4f9d\u5b58\u3059\u308b\u3059\u3079\u3066\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u5bfe\u3057\u3066 build \u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001\u6b21\u306e\u7ae0\u3067\u89e3\u8aac\u3059\u308b <code>cacheableOperations<\/code> \u306b\u8a2d\u5b9a\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u306f\u5b9f\u884c\u7d50\u679c\u304c\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u53c2\u8003\uff1a<a href=\"https:\/\/blog.nrwl.io\/lerna-reborn-whats-new-in-v6-10aec6e9091c\">https:\/\/blog.nrwl.io\/lerna-reborn-whats-new-in-v6-10aec6e9091c<\/a><\/p>\n<h2>\u30bf\u30b9\u30af\u306e\u7d50\u679c\u3092\u30ad\u30e3\u30c3\u30b7\u30e5\u3059\u308b<\/h2>\n<pre><code class=\"language-json\">\/\/ nx.json\n{\n  ...\n  &quot;options&quot;: {\n    &quot;cacheableOperations&quot;: [\n      &quot;lint&quot;,\n      &quot;typecheck&quot;,\n      &quot;jest&quot;\n    ]\n  }\n}<\/code><\/pre>\n<p>\u4f8b\u3048\u3070 nx.json \u3092\u4e0a\u8a18\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u30bf\u30b9\u30af\u30e9\u30f3\u30ca\u30fc\u306e\u5b9f\u884c\u7d50\u679c (<code>lerna run lint<\/code> \u306a\u3069) \u304c\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<br \/>\n\u5bfe\u8c61\u3068\u306a\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u306f <code>cacheableOperations<\/code> \u306b\u767b\u9332\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n<p>\u8a66\u3057\u306b <code>lerna run lint<\/code> \u30922\u5ea6\u5b9f\u884c\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre><code class=\"language-bash\">$ yarn lerna run lint\nyarn run v1.22.19\n    $ \/app\/node_modules\/.bin\/lerna run lint\nlerna notice cli v6.5.1\n\n    \u2714  backend:lint (17s)\n    \u2714  frontend:lint (21s)\n\n \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\n\n &gt;  Lerna (powered by Nx)   Successfully ran target lint for 2 projects (21s)\n\nDone in 24.66s.<\/code><\/pre>\n<pre><code class=\"language-bash\">$ yarn lerna run lint\nyarn run v1.22.19\n    $ \/app\/node_modules\/.bin\/lerna run lint\nlerna notice cli v6.5.1\n\n    \u2714  backend:lint  [existing outputs match the cache, left as is]\n    \u2714  frontend:lint  [existing outputs match the cache, left as is]\n\n \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\n\n &gt;  Lerna (powered by Nx)   Successfully ran target lint for 2 projects (43ms)\n\n   Nx read the output from the cache instead of running the command for 2 out of 2 tasks.\n\nDone in 2.18s.<\/code><\/pre>\n<p>1\u56de\u76ee\u306e\u5b9f\u884c\u3067\u306f\u7d0425\u79d2\u304b\u304b\u308a\u307e\u3057\u305f\u3002<br \/>\n2\u56de\u76ee\u306e\u5b9f\u884c\u3067\u306f\u30b3\u30de\u30f3\u30c9\u306e\u5b9f\u884c\u306e\u4ee3\u308f\u308a\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u4f7f\u7528\u3057\u305f\u65e8\u306e\u30e1\u30c3\u30bb\u30fc\u30b8 <code>Nx read the output from the cache instead of running the command for 2 out of 2 tasks.<\/code> \u304c\u8868\u793a\u3055\u308c\u3001\u5b9f\u884c\u6642\u9593\u306f\u7d042\u79d2\u3068\u3059\u3050\u5b8c\u4e86\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>Nx \u306f\u30d1\u30c3\u30b1\u30fc\u30b8\u3054\u3068\u306b\u524d\u56de\u306e\u5b9f\u884c\u304b\u3089\u30d5\u30a1\u30a4\u30eb\u306e\u5dee\u5206\u304c\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u3001\u30d5\u30a1\u30a4\u30eb\u306b\u5909\u66f4\u304c\u7121\u304b\u3063\u305f\u5834\u5408\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u306f\u30ed\u30fc\u30ab\u30eb\u306b1\u9031\u9593\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002<br \/>\n<code>nx reset<\/code> \u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001\u30ed\u30fc\u30ab\u30eb\u306b\u4fdd\u5b58\u3057\u305f\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u524a\u9664\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u6ce8\u610f\u70b9\u3068\u3057\u3066\u3001<code>cacheableOperations<\/code> \u306b\u306f\u3001\u540c\u3058\u5165\u529b\u306b\u5bfe\u3057\u3066\u5e38\u306b\u540c\u3058\u7d50\u679c\u3092\u51fa\u529b\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u307f\u3092\u8a2d\u5b9a\u3059\u308b\u3088\u3046\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u307e\u305f\u3001nx.json \u306b\u9069\u5207\u306a\u8a2d\u5b9a\u3092\u884c\u3046\u3053\u3068\u306b\u3088\u308a\u3001\u30b3\u30de\u30f3\u30c9\u5b9f\u884c\u306b\u3088\u308a\u751f\u6210\u3055\u308c\u308b\u30d5\u30a1\u30a4\u30eb (\u4f8b\u3048\u3070 <code>dist<\/code> \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u751f\u6210\u306a\u3069) \u3082\u5373\u6642\u306b\u5b9f\u884c\u5b8c\u4e86\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u53c2\u8003\uff1a<a href=\"https:\/\/lerna.js.org\/docs\/features\/cache-tasks\">https:\/\/lerna.js.org\/docs\/features\/cache-tasks<\/a><\/p>\n<h2>nx cloud \u3067\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u5171\u6709\u3059\u308b<\/h2>\n<p>\u30ad\u30e3\u30c3\u30b7\u30e5\u306f nx cloud \u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u8907\u6570\u306e\u30de\u30b7\u30f3\u306b\u5171\u6709\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u3092\u5b9f\u884c\u3059\u308b\u3060\u3051\u3067\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u3092 nx cloud \u306b\u63a5\u7d9a\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre><code class=\"language-bash\">$ npx nx connect-to-nx-cloud<\/code><\/pre>\n<pre><code class=\"language-bash\">\u2714 Enable distributed caching to make your CI faster \u00b7 Yes\n\n>  NX  Generating @nrwl\/nx-cloud:init\n\nUPDATE nx.json\n\n &gt;  NX   Distributed caching via Nx Cloud has been enabled\n\n   In addition to the caching, Nx Cloud provides config-free distributed execution,\n   UI for viewing complex runs and GitHub integration. Learn more at https:\/\/nx.app\n\n   Your workspace is currently unclaimed. Run details from unclaimed workspaces can be viewed on cloud.nx.app by anyone\n   with the link. Claim your workspace at the following link to restrict access.\n\n   https:\/\/cloud.nx.app\/orgs\/workspace-setup?accessToken=ACCESSTOKEN<\/code><\/pre>\n<p>\u5b9f\u884c\u304c\u5b8c\u4e86\u3059\u308b\u3068 <code>nx.json<\/code> \u306b\u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3\u304c\u8ffd\u52a0\u3055\u308c\u3001\u305d\u308c\u4ee5\u964d\u306f nx cloud \u4e0a\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u4fdd\u5b58\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u8a66\u3057\u306b1\u5ea6 <code>lerna run lint<\/code> \u3092\u5b9f\u884c\u3057\u305f\u5f8c\u3001<code>nx reset<\/code> \u30b3\u30de\u30f3\u30c9\u3067\u30ed\u30fc\u30ab\u30eb\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u524a\u9664\u3057\u307e\u3059\u3002<\/p>\n<pre><code class=\"language-bash\">$ yarn lerna run lint\nyarn run v1.22.19\n    $ \/app\/node_modules\/.bin\/lerna run lint\nlerna notice cli v6.5.1\n\n    \u2714  backend:lint (22s)\n    \u2714  frontend:lint (26s)\n\n \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\n\n &gt;  Lerna (powered by Nx)   Successfully ran target lint for 2 projects (26s)\n\n   View logs and investigate cache misses at https:\/\/cloud.nx.app\/runs\/xxxxxxxxxx\n\nDone in 28.45s.<\/code><\/pre>\n<pre><code class=\"language-bash\">$ npx nx reset\n\n &gt;  NX   Resetting the Nx workspace cache and stopping the Nx Daemon.\n\n   This might take a few minutes.\n\n &gt;  NX   Daemon Server - Stopped\n\n &gt;  NX   Successfully reset the Nx workspace.<\/code><\/pre>\n<p>\u305d\u306e\u5f8c\u3001\u518d\u5ea6 <code>yarn lerna run lint<\/code> \u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<pre><code class=\"language-bash\">$ yarn lerna run lint\nyarn run v1.22.19\n    $ \/app\/node_modules\/.bin\/lerna run lint\nlerna notice cli v6.5.1\n\n    \u2714  frontend:lint  [remote cache]\n    \u2714  backend:lint  [remote cache]\n\n \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\n\n &gt;  Lerna (powered by Nx)   Successfully ran target lint for 2 projects (2s)\n\n   Nx read the output from the cache instead of running the command for 2 out of 2 tasks.\n\n   Nx Cloud made it possible to reuse 2 tasks: https:\/\/cloud.nx.app\/runs\/xxxxxxxxxx\n\nDone in 7.31s.<\/code><\/pre>\n<p>nx cloud \u306b\u4fdd\u5b58\u3055\u308c\u305f\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u4f7f\u7528\u3055\u308c\u3001\u30bf\u30b9\u30af\u304c\u3059\u3050\u306b\u5b8c\u4e86\u3059\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u307e\u305f\u3001\u30bf\u30b9\u30af\u5b9f\u884c\u6642\u306b\u30ed\u30b0\u306b\u8868\u793a\u3055\u308c\u308b <a href=\"https:\/\/cloud.nx.app\/runs\/:taskCode\">https:\/\/cloud.nx.app\/runs\/:taskCode<\/a> \u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u3067\u30bf\u30b9\u30af\u306e\u5b9f\u884c\u7d50\u679c\u3092\u95b2\u89a7\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><img src=\"https:\/\/weseek.co.jp\/tech\/wp-content\/uploads\/2023\/03\/image-1678301152692.png\" alt=\"\" width=\"2320\" class=\"aligncenter size-full wp-image-4161\" srcset=\"https:\/\/weseek.co.jp\/tech\/wp-content\/uploads\/2023\/03\/image-1678301152692.png 2320w, https:\/\/weseek.co.jp\/tech\/wp-content\/uploads\/2023\/03\/image-1678301152692-300x99.png 300w, https:\/\/weseek.co.jp\/tech\/wp-content\/uploads\/2023\/03\/image-1678301152692-1024x339.png 1024w, https:\/\/weseek.co.jp\/tech\/wp-content\/uploads\/2023\/03\/image-1678301152692-768x255.png 768w, https:\/\/weseek.co.jp\/tech\/wp-content\/uploads\/2023\/03\/image-1678301152692-1536x509.png 1536w, https:\/\/weseek.co.jp\/tech\/wp-content\/uploads\/2023\/03\/image-1678301152692-2048x679.png 2048w, https:\/\/weseek.co.jp\/tech\/wp-content\/uploads\/2023\/03\/image-1678301152692-304x101.png 304w, https:\/\/weseek.co.jp\/tech\/wp-content\/uploads\/2023\/03\/image-1678301152692-282x93.png 282w\" sizes=\"(max-width: 2320px) 100vw, 2320px\" \/><\/p>\n<p>\u53c2\u8003\uff1a<a href=\"https:\/\/lerna.js.org\/docs\/features\/share-your-cache\">https:\/\/lerna.js.org\/docs\/features\/share-your-cache<\/a><\/p>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>\u4eca\u56de\u306f Lerna \u306b\u65b0\u3057\u304f\u8ffd\u52a0\u3055\u308c\u305f Nx \u306e\u6a5f\u80fd\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u30af\u30e9\u30a6\u30c9\u4e0a\u306b\u4fdd\u5b58\u3057\u3066\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3001\u7121\u6599\u3067\u3053\u3093\u306a\u306b\u7c21\u5358\u306b\u3067\u304d\u308b\u3053\u3068\u306b\u9a5a\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u975e\u5e38\u306b\u4fbf\u5229\u306a\u306e\u3067\u305c\u3072\u4f7f\u3063\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30b7\u30b9\u30c6\u30e0\u30a8\u30f3\u30b8\u30cb\u30a2\u306e\u86f8\u4e95\u3067\u3059\u3002\u4eca\u56de\u306f Lerna \u306b\u3064\u3044\u3066\u3068 Lerna v6 \u306e Nx \u306e\u6a5f\u80fd\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"author":4,"featured_media":4169,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[31],"tags":[],"_links":{"self":[{"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/posts\/4153"}],"collection":[{"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/comments?post=4153"}],"version-history":[{"count":14,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/posts\/4153\/revisions"}],"predecessor-version":[{"id":4173,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/posts\/4153\/revisions\/4173"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/media\/4169"}],"wp:attachment":[{"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/media?parent=4153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/categories?post=4153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/weseek.co.jp\/tech\/wp-json\/wp\/v2\/tags?post=4153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}