From 9f91fb47a781c7e02f68a4d1aa3b3a9ef17c0fab Mon Sep 17 00:00:00 2001 From: jpoole Date: Wed, 14 Dec 2022 18:50:23 +0000 Subject: [PATCH] Add Please --- libs/website/ui-home/src/lib/introduction.tsx | 9 ++ .../ui-home/src/lib/monorepo-features.tsx | 132 ++++++++++++++++ .../ui-home/src/lib/monorepo-tools-logos.tsx | 27 +++- libs/website/ui-home/src/lib/resources.tsx | 7 + libs/website/ui-home/src/lib/tools-review.tsx | 145 +++++++++++------- 5 files changed, 266 insertions(+), 54 deletions(-) diff --git a/libs/website/ui-home/src/lib/introduction.tsx b/libs/website/ui-home/src/lib/introduction.tsx index 746bcc5..630a2e9 100644 --- a/libs/website/ui-home/src/lib/introduction.tsx +++ b/libs/website/ui-home/src/lib/introduction.tsx @@ -123,6 +123,15 @@ export function Introduction() { Pants (by the Pants Build community) ,  + + Please (by Thought Machine) + + ,  +
+
+

+ Please +

+
+
+ Please supports it. +
+
@@ -333,6 +343,16 @@ export function MonorepoFeatures() { Turborepo supports it. +
+
+

+ Please +

+
+
+ Please supports it. +
+
@@ -458,6 +478,16 @@ export function MonorepoFeatures() { Turborepo supports it. +
+
+

+ Please +

+
+
+ Please supports it. +
+
@@ -586,6 +616,17 @@ export function MonorepoFeatures() { Turborepo doesn't support it. +
+
+

+ Please +

+
+
+ Please supports it through the same remote execution API as Bazel, however there are some compatibility + issues with many of the remote execution API providers. +
+
@@ -698,6 +739,17 @@ export function MonorepoFeatures() { Turborepo doesn't support it. +
+
+

+ Please +

+
+
+ Please supports it similarly to Bazel and Pants, however, there are some compatibility issues with + many of the third party providers. +
+
@@ -834,6 +886,16 @@ export function MonorepoFeatures() { Turborepo supports it. +
+
+

+ Please +

+
+
+ Please supports querying changed packages based on the git diff. +
+
@@ -970,6 +1032,17 @@ export function MonorepoFeatures() { Turborepo analyses package.json files. +
+
+

+ Please +

+
+
+ The query sub-command can be used to query the build graph in a multitude of ways. The build graph + is computed statically, so the entire build can be analysed in this way. +
+
@@ -1106,6 +1179,17 @@ export function MonorepoFeatures() { of the execution plan. The implementation is not interactive. +
+
+

+ Please +

+
+
+ The build graph can be outputted as json, which could then be visualized by another tool. You can also + print a dependency tree for a given target in the terminal. +
+
@@ -1251,6 +1335,19 @@ export function MonorepoFeatures() { Turborepo supports it. Only npm packages can be shared. +
+
+

+ + Please +

+
+
+ Please supports building and packaging through the standard idioms of the language. It also supports + exporting targets from the codebase, including all dependencies and build configuration. Additionally, + other Please projects added to the project seamlessly through subrepos. +
+
@@ -1401,6 +1498,18 @@ export function MonorepoFeatures() { be installed. +
+
+

+ + Please +

+
+
+ This is a key feature of Please. Not only can it be extended with other build targets, but the CLI can + be extended with new verbs, or even entire tools. +
+
@@ -1541,6 +1650,18 @@ export function MonorepoFeatures() { External generators can be used. +
+
+

+ + Please +

+
+
+ Please supports code generation for protobuf for go, Python, Java, Javascript, and C/C++. Otherwise, + Please can be extended to support other tools. +
+
@@ -1687,6 +1808,17 @@ export function MonorepoFeatures() { be used to ensure that some constraints hold. +
+
+

+ + Please +

+
+
+ Please support the same visibility rules as Bazel. +
+
diff --git a/libs/website/ui-home/src/lib/monorepo-tools-logos.tsx b/libs/website/ui-home/src/lib/monorepo-tools-logos.tsx index 746c962..1e9eed4 100644 --- a/libs/website/ui-home/src/lib/monorepo-tools-logos.tsx +++ b/libs/website/ui-home/src/lib/monorepo-tools-logos.tsx @@ -27,10 +27,19 @@ const tools2: { name: string; link: string }[] = [ name: 'Pants', link: 'https://github.com/pantsbuild/pants?utm_source=monorepo.tools', }, + { + name: 'Please', + link: 'https://github.com/thought-machine/please?utm_source=monorepo.tools', + }, { name: 'Rush', link: 'https://github.com/microsoft/rushstack?utm_source=monorepo.tools', }, + +]; + +const tools3: { name: string; link: string }[] = [ + // Alphabetical order { name: 'Turborepo', link: 'https://github.com/vercel/turborepo?utm_source=monorepo.tools', @@ -40,7 +49,7 @@ const tools2: { name: string; link: string }[] = [ export function MonorepoToolsLogos() { return ( <> -
+
{tools1.map((tool) => ( ))}
-
+
{tools2.map((tool) => ( ))}
+
+ {tools3.map((tool) => ( + + {tool.name} + + ))} +
); } diff --git a/libs/website/ui-home/src/lib/resources.tsx b/libs/website/ui-home/src/lib/resources.tsx index d0d5e77..b4413ca 100644 --- a/libs/website/ui-home/src/lib/resources.tsx +++ b/libs/website/ui-home/src/lib/resources.tsx @@ -57,6 +57,13 @@ const people: { twitterLink: 'https://twitter.com/benjyw', githubLink: 'https://github.com/pantsbuild/pants?utm_source=monorepo.tools', }, + { + name: 'Jon Poole', + tool: 'Please', + imageUrl: 'https://avatars.githubusercontent.com/u/2906700?s=150', + twitterLink: 'https://twitter.com/jonfpoole', + githubLink: 'https://github.com/thought-machine/please?utm_source=monorepo.tools', + }, ]; const videosPodcasts: { name: string; link: string }[] = [ { diff --git a/libs/website/ui-home/src/lib/tools-review.tsx b/libs/website/ui-home/src/lib/tools-review.tsx index 6d1dad3..b97c231 100644 --- a/libs/website/ui-home/src/lib/tools-review.tsx +++ b/libs/website/ui-home/src/lib/tools-review.tsx @@ -73,6 +73,13 @@ const tools = [ description: 'The high-performance build system for JavaScript & TypeScript codebases.', }, + { + title: 'Please', + organization: 'Please Build', + organizationUrl: 'https://please.build/?utm_source=monorepo.tools', + description: + 'A cross-language build system with an emphasis on high performance, extensibility and correctness\n' + }, ]; const fast: Item[] = [ { @@ -89,6 +96,7 @@ const fast: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'supported' }, { title: 'Turborepo', value: 'supported' }, + { title: 'Please', value: 'supported' }, ], }, { @@ -104,6 +112,7 @@ const fast: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'supported' }, { title: 'Turborepo', value: 'supported' }, + { title: 'Please', value: 'supported' }, ], }, { @@ -120,6 +129,7 @@ const fast: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'supported' }, { title: 'Turborepo', value: 'supported' }, + { title: 'Please', value: 'supported' }, ], }, { @@ -135,6 +145,7 @@ const fast: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'manualImplementation' }, { title: 'Turborepo', value: 'notSupported' }, + { title: 'Please', value: 'supported' }, ], }, { @@ -151,6 +162,7 @@ const fast: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'notSupported' }, { title: 'Turborepo', value: 'notSupported' }, + { title: 'Please', value: 'supported' }, ], }, { @@ -167,6 +179,8 @@ const fast: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'supported' }, { title: 'Turborepo', value: 'supported' }, + { title: 'Please', value: 'supported' }, + ], }, ]; @@ -185,6 +199,8 @@ const understandable: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'supported' }, { title: 'Turborepo', value: 'supported' }, + { title: 'Please', value: 'supported' }, + ], }, { @@ -201,6 +217,8 @@ const understandable: Item[] = [ { title: 'Pants', value: 'manualImplementation' }, { title: 'Rush', value: 'manualImplementation' }, { title: 'Turborepo', value: 'supported' }, + { title: 'Please', value: 'manualImplementation' }, + ], }, ]; @@ -218,6 +236,7 @@ const manageable: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'supported' }, { title: 'Turborepo', value: 'supported' }, + { title: 'Please', value: 'supported' }, ], }, { @@ -234,6 +253,7 @@ const manageable: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'notSupported' }, { title: 'Turborepo', value: 'notSupported' }, + { title: 'Please', value: 'supported' }, ], }, { @@ -249,6 +269,8 @@ const manageable: Item[] = [ { title: 'Pants', value: 'supported' }, { title: 'Rush', value: 'manualImplementation' }, { title: 'Turborepo', value: 'manualImplementation' }, + { title: 'Please', value: 'manualImplementation' }, + ], }, { @@ -265,6 +287,7 @@ const manageable: Item[] = [ { title: 'Pants', value: 'manualImplementation' }, { title: 'Rush', value: 'supported' }, { title: 'Turborepo', value: 'manualImplementation' }, + { title: 'Please', value: 'supported' }, ], }, ]; @@ -515,7 +538,7 @@ export function ToolsReview() { aria-hidden="true" className={classNames( toolIndex === tools.length - 1 ? 'pl-2' : 'px-2', - '-mt-px w-[10.75%]' + '-mt-px w-[9.5%]' )} >
@@ -549,28 +572,31 @@ export function ToolsReview() { aria-hidden="true" >
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
@@ -611,7 +637,7 @@ export function ToolsReview() { tierIdx === feature.features.length - 1 ? 'pl-2' : 'px-2', - 'relative w-[10.75%] py-0 text-center' + 'relative w-[9.5%] py-0 text-center' )} > @@ -630,28 +656,31 @@ export function ToolsReview() { aria-hidden="true" >
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
@@ -667,28 +696,31 @@ export function ToolsReview() { aria-hidden="true" >
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
@@ -739,7 +771,7 @@ export function ToolsReview() { tierIdx === feature.features.length - 1 ? 'pl-2' : 'px-2', - 'relative w-[10.75%] py-0 text-center' + 'relative w-[9.5%] py-0 text-center' )} > {valuesDictionary[tier.value]()} @@ -756,28 +788,31 @@ export function ToolsReview() { aria-hidden="true" >
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
-
+
-
+
@@ -793,28 +828,31 @@ export function ToolsReview() { aria-hidden="true" >
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
@@ -855,7 +893,7 @@ export function ToolsReview() { tierIdx === feature.features.length - 1 ? 'pl-2' : 'px-2', - 'relative w-[10.75%] py-0 text-center' + 'relative w-[9.5%] py-0 text-center' )} > {valuesDictionary[tier.value]()} @@ -872,28 +910,31 @@ export function ToolsReview() { aria-hidden="true" >
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+