docs(core): remove closed source github links (#28149)

Updates AWS S3 to Amazon S3
Removes Github links from closed source packages
This commit is contained in:
Isaac Mann 2024-09-27 09:04:04 -04:00 committed by GitHub
parent 3bb493f7a6
commit 198d2af81d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 91 additions and 63 deletions

View File

@ -125,7 +125,7 @@ As part of this new approach we're also going to [deprecate custom task runners]
To fill in on the custom task runner API we're providing a new Powerpack plugin that allows you to use S3 or a network drive as your storing mechanism for your Nx cache. To fill in on the custom task runner API we're providing a new Powerpack plugin that allows you to use S3 or a network drive as your storing mechanism for your Nx cache.
Here's an example of how to get started with AWS S3 based remote caching. First add the Powerpack plugin: Here's an example of how to get started with [Amazon S3](https://aws.amazon.com/s3) based remote caching. First add the Powerpack plugin:
```shell ```shell
npx nx add @nx/powerpack-s3-cache npx nx add @nx/powerpack-s3-cache

View File

@ -8,7 +8,7 @@ The `@nx/powerpack-shared-fs-cache` plugin enables you to use a shared file syst
This plugin will enable the remote cache for your Nx workspace, but does not provide any of the other features of Nx Cloud. If you want to leverage [distributed task execution](/ci/features/distribute-task-execution), [re-running flaky tasks](/ci/features/flaky-tasks) or [automatically splitting tasks](/ci/features/split-e2e-tasks), you'll need to [connect to Nx Cloud](/ci/intro/connect-to-nx-cloud) and use [Nx Replay](/ci/features/remote-cache) instead. This plugin will enable the remote cache for your Nx workspace, but does not provide any of the other features of Nx Cloud. If you want to leverage [distributed task execution](/ci/features/distribute-task-execution), [re-running flaky tasks](/ci/features/flaky-tasks) or [automatically splitting tasks](/ci/features/split-e2e-tasks), you'll need to [connect to Nx Cloud](/ci/intro/connect-to-nx-cloud) and use [Nx Replay](/ci/features/remote-cache) instead.
{% callout type="warning" title="Potential Cache Poisoning" %} {% callout type="warning" title="Potential Cache Poisoning" %}
Using a shared file system folder for the remote cache opens you up to the possibility of [cache poisoning](/troubleshooting/unknown-local-cache). To avoid this, use [Nx Replay](/ci/features/remote-cache) or share your cache with an AWS S3 bucket using [`@nx/powerpack-s3-cache`](/nx-api/powerpack-s3-cache). Using a shared file system folder for the remote cache opens you up to the possibility of [cache poisoning](/troubleshooting/unknown-local-cache). To avoid this, use [Nx Replay](/ci/features/remote-cache) or share your cache with an Amazon S3 bucket using [`@nx/powerpack-s3-cache`](/nx-api/powerpack-s3-cache).
{% /callout %} {% /callout %}
{% callout title="This plugin requires an active Nx Powerpack license" %} {% callout title="This plugin requires an active Nx Powerpack license" %}

View File

@ -8,7 +8,7 @@ When you serve your host application via `nx serve host`, the Nx `module-federat
{% callout type="note" title="Using Module Federation with SSR?" %} {% callout type="note" title="Using Module Federation with SSR?" %}
The same technique outlined below also applies to the `module-federation-ssr-dev-server`. The same technique outlined below also applies to the `module-federation-ssr-dev-server`.
This is important to know when it comes to deploying your SSR Module Federation application as it indicates that you can place the build artifacts from the `remotes` onto something like an AWS S3 Bucket and your `host` will be able to find these files correctly. This is important to know when it comes to deploying your SSR Module Federation application as it indicates that you can place the build artifacts from the `remotes` onto something like an Amazon S3 Bucket and your `host` will be able to find these files correctly.
{% /callout %} {% /callout %}
The executor does the following: The executor does the following:

View File

@ -8,5 +8,5 @@ As of Nx 20, the `tasksRunnerOptions` property in `nx.json` is deprecated. This
For most organizations, this feature is a net positive. If you are currently using a custom task runner, you are most likely using it to define your own custom [remote cache](/ci/features/remote-cache) storage location. You have several options moving forward: For most organizations, this feature is a net positive. If you are currently using a custom task runner, you are most likely using it to define your own custom [remote cache](/ci/features/remote-cache) storage location. You have several options moving forward:
1. Use [Nx Cloud](/nx-cloud) for your remote cache 1. Use [Nx Cloud](/nx-cloud) for your remote cache
2. Use an [Nx Powerpack](/powerpack) plugin to store your remote cache on an [AWS S3 bucket](/nx-api/powerpack-s3-cache) or a [network drive](/nx-api/powerpack-shared-fs-cache) 2. Use an [Nx Powerpack](/powerpack) plugin to store your remote cache on an [Amazon S3 bucket](/nx-api/powerpack-s3-cache) or a [network drive](/nx-api/powerpack-shared-fs-cache)
3. Use the deprecated custom task runner feature until Nx 21 3. Use the deprecated custom task runner feature until Nx 21

View File

@ -5,8 +5,8 @@
The recommended way to enable the [remote cache](/ci/features/remote-cache) is to use Nx Replay and have Nx Cloud share the task cache across your organization. For those organizations that are unable to use Nx Cloud, Nx offers official plugins that are enabled by [Nx Powerpack](/powerpack) to self-host the remote cache in a fast and secure manner. The recommended ways to host the remote cache are, in order of preference: The recommended way to enable the [remote cache](/ci/features/remote-cache) is to use Nx Replay and have Nx Cloud share the task cache across your organization. For those organizations that are unable to use Nx Cloud, Nx offers official plugins that are enabled by [Nx Powerpack](/powerpack) to self-host the remote cache in a fast and secure manner. The recommended ways to host the remote cache are, in order of preference:
1. [Nx Replay](/ci/features/remote-cache): Cache is hosted on Nx Cloud servers or on-premise with an [Nx Enterprise](/enterprise) contract 1. [Nx Replay](/ci/features/remote-cache): Cache is hosted on Nx Cloud servers or on-premise with an [Nx Enterprise](/enterprise) contract
2. [@nx/powerpack-s3-cache](/nx-api/powerpack-s3-cache): Cache is on a self-hosted, fully secure AWS S3 bucket 2. [@nx/powerpack-s3-cache](/nx-api/powerpack-s3-cache): Cache is on a self-hosted Amazon S3 bucket
3. [@nx/powerpack-shared-fs-cache](/nx-api/powerpack-shared-fs-cache): Cache is self-hosted and self-secured on a shared file system location 3. [@nx/powerpack-shared-fs-cache](/nx-api/powerpack-shared-fs-cache): Cache is self-hosted on a shared file system location
The options range from fully opting in to Nx's management of the remote cache to fully managing the configuration and security of your own remote cache. The options range from fully opting in to Nx's management of the remote cache to fully managing the configuration and security of your own remote cache.
@ -20,7 +20,7 @@ Then, choose the appropriate cache plugin for your situation.
{% cards cols="2" lgCols="2" mdCols="2" smCols="2" %} {% cards cols="2" lgCols="2" mdCols="2" smCols="2" %}
{% link-card title="AWS S3 Bucket Remote Cache" type="Nx Plugin" url="/nx-api/powerpack-s3-cache" icon="AwsIcon" /%} {% link-card title="Amazon S3 Bucket Remote Cache" type="Nx Plugin" url="/nx-api/powerpack-s3-cache" icon="AwsIcon" /%}
{% link-card title="Shared Network Drive Remote Cache" type="Nx Plugin" url="/nx-api/powerpack-shared-fs-cache" icon="ServerIcon" /%} {% link-card title="Shared Network Drive Remote Cache" type="Nx Plugin" url="/nx-api/powerpack-shared-fs-cache" icon="ServerIcon" /%}

View File

@ -79,7 +79,7 @@ Nx Replay is not the only remote cache you can use. You can also use one of the
If you can't use Nx Replay, Nx provides plugins that enable you to [self-host the remote cache](/features/powerpack/custom-caching). These plugins are available as part of the [Nx Powerpack](/powerpack), which you can unlock by [activating your license](/recipes/installation/activate-powerpack). There are plugins to self-host your remote cache in the following locations: If you can't use Nx Replay, Nx provides plugins that enable you to [self-host the remote cache](/features/powerpack/custom-caching). These plugins are available as part of the [Nx Powerpack](/powerpack), which you can unlock by [activating your license](/recipes/installation/activate-powerpack). There are plugins to self-host your remote cache in the following locations:
- [AWS S3 Bucket](/nx-api/powerpack-s3-cache) - [Amazon S3 Bucket](/nx-api/powerpack-s3-cache)
- [Shared File System](/nx-api/powerpack-shared-fs-cache) - [Shared File System](/nx-api/powerpack-shared-fs-cache)
These plugins will ensure that the task metadata and project graph information are correctly associated with the file artifacts in your cache. These plugins will ensure that the task metadata and project graph information are correctly associated with the file artifacts in your cache.

View File

@ -11,6 +11,7 @@ import { SchemaViewModel } from './get-schema-view-model';
import { SchemaEditor } from './schema-editor'; import { SchemaEditor } from './schema-editor';
import { SchemaViewer } from './schema-viewer'; import { SchemaViewer } from './schema-viewer';
import { Heading2, Heading3 } from './ui/headings'; import { Heading2, Heading3 } from './ui/headings';
import { cx } from '@nx/nx-dev/ui-primitives';
function pathCleaner(path: string): string { function pathCleaner(path: string): string {
return path.split('?')[0]; return path.split('?')[0];
@ -156,10 +157,18 @@ export function Content({
<Link <Link
href={schemaViewModel.packageUrl} href={schemaViewModel.packageUrl}
title="See package information" title="See package information"
className="relative inline-flex items-center rounded-l-md border border-slate-200 bg-white px-4 py-2 text-xs font-medium text-slate-600 focus-within:ring-blue-500 hover:bg-slate-50 focus:z-10 focus:outline-none focus:ring-1 dark:border-slate-700 dark:bg-slate-800/60 dark:text-slate-400 dark:focus-within:ring-sky-500 dark:hover:bg-slate-800" className={cx(
'relative inline-flex items-center rounded-l-md border border-slate-200 bg-white px-4 py-2 text-xs font-medium text-slate-600 focus-within:ring-blue-500 hover:bg-slate-50 focus:z-10 focus:outline-none focus:ring-1 dark:border-slate-700 dark:bg-slate-800/60 dark:text-slate-400 dark:focus-within:ring-sky-500 dark:hover:bg-slate-800',
schemaViewModel.packageName.startsWith('@nx/powerpack')
? 'rounded-md'
: 'rounded-l-md'
)}
> >
{schemaViewModel.packageName} {schemaViewModel.packageName}
</Link> </Link>
{schemaViewModel.packageName.startsWith(
'@nx/powerpack'
) ? undefined : (
<Link <Link
href={schemaViewModel.schemaGithubUrl} href={schemaViewModel.schemaGithubUrl}
target="_blank" target="_blank"
@ -179,6 +188,7 @@ export function Content({
</svg> </svg>
See schema See schema
</Link> </Link>
)}
</div> </div>
</div> </div>

View File

@ -25,6 +25,7 @@ export function TopSchemaLayout({
Rescope @nrwl to @nx Rescope @nrwl to @nx
</Link> </Link>
</div> </div>
{name.startsWith('@nx/powerpack') ? undefined : (
<div className="relative z-0 inline-flex flex-shrink-0"> <div className="relative z-0 inline-flex flex-shrink-0">
<a <a
href={url} href={url}
@ -34,7 +35,11 @@ export function TopSchemaLayout({
title="See package on GitHub" title="See package on GitHub"
className="relative inline-flex items-center rounded-md border border-slate-200 bg-slate-50 px-4 py-2 text-xs font-medium dark:border-slate-700 dark:bg-slate-800/60" className="relative inline-flex items-center rounded-md border border-slate-200 bg-slate-50 px-4 py-2 text-xs font-medium dark:border-slate-700 dark:bg-slate-800/60"
> >
<svg className="mr-2 h-4 w-4" viewBox="0 0 16 16" fill="currentColor"> <svg
className="mr-2 h-4 w-4"
viewBox="0 0 16 16"
fill="currentColor"
>
<path <path
fillRule="evenodd" fillRule="evenodd"
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"
@ -43,6 +48,7 @@ export function TopSchemaLayout({
{name} {name}
</a> </a>
</div> </div>
)}
</div> </div>
); );
} }

View File

@ -4,6 +4,7 @@ import {
Breadcrumbs, Breadcrumbs,
DocumentationHeader, DocumentationHeader,
Footer, Footer,
PluginType,
SidebarContainer, SidebarContainer,
} from '@nx/nx-dev/ui-common'; } from '@nx/nx-dev/ui-common';
import { PluginDirectory } from '@nx/nx-dev/ui-community'; import { PluginDirectory } from '@nx/nx-dev/ui-community';
@ -21,7 +22,7 @@ interface PluginInfo {
description: string; description: string;
name: string; name: string;
url: string; url: string;
isOfficial: boolean; pluginType: PluginType;
} }
interface BrowseProps { interface BrowseProps {
pluginList: PluginInfo[]; pluginList: PluginInfo[];
@ -53,12 +54,14 @@ export async function getStaticProps(): Promise<{ props: BrowseProps }> {
url: plugin.path, url: plugin.path,
...qualityIndicators[plugin.packageName], ...qualityIndicators[plugin.packageName],
nxVersion: 'official', nxVersion: 'official',
isOfficial: true, pluginType: plugin.name?.startsWith('powerpack-')
? 'nxPowerpack'
: 'nxOpenSource',
})), })),
...pluginList.map((plugin) => ({ ...pluginList.map((plugin) => ({
...plugin, ...plugin,
...qualityIndicators[plugin.name], ...qualityIndicators[plugin.name],
isOfficial: false, pluginType: 'community',
})), })),
], ],
menu: menusApi.getMenu('nx', ''), menu: menusApi.getMenu('nx', ''),

View File

@ -5,11 +5,12 @@ import {
} from '@heroicons/react/24/outline'; } from '@heroicons/react/24/outline';
import Link from 'next/link'; import Link from 'next/link';
export type PluginType = 'nxOpenSource' | 'nxPowerpack' | 'community';
export interface PluginCardProps { export interface PluginCardProps {
name: string; name: string;
description: string; description: string;
url: string; url: string;
isOfficial: boolean; pluginType: PluginType;
lastPublishedDate?: string; lastPublishedDate?: string;
npmDownloads?: string; npmDownloads?: string;
githubStars?: string; githubStars?: string;
@ -20,7 +21,7 @@ export function PluginCard({
name, name,
description, description,
url, url,
isOfficial, pluginType,
lastPublishedDate, lastPublishedDate,
npmDownloads, npmDownloads,
githubStars, githubStars,
@ -44,8 +45,8 @@ export function PluginCard({
</h3> </h3>
<Link <Link
href={url} href={url}
target={isOfficial ? undefined : '_blank'} target={pluginType ? undefined : '_blank'}
rel={isOfficial ? undefined : 'noreferrer'} rel={pluginType ? undefined : 'noreferrer'}
className="flex grow flex-col focus:outline-none" className="flex grow flex-col focus:outline-none"
prefetch={false} prefetch={false}
> >
@ -67,19 +68,27 @@ export function PluginCard({
<GithubStarsWidget githubStars={githubStars}></GithubStarsWidget> <GithubStarsWidget githubStars={githubStars}></GithubStarsWidget>
</div> </div>
<div className="flex flex-grow justify-end"> <div className="flex flex-grow justify-end">
{isOfficial ? ( {pluginType === 'community' ? (
<div className="my-1 ml-1">
<NxVersionWidget nxVersion={nxVersion}></NxVersionWidget>
</div>
) : pluginType === 'nxOpenSource' ? (
<div <div
data-tooltip="Maintained by the Nx Team" data-tooltip="Maintained by the Nx Team"
data-tooltip-align-right data-tooltip-align-right
className="my-1 ml-1 inline-block rounded-full border border-green-300 bg-green-50 px-3 py-0.5 text-xs font-medium capitalize text-green-600 dark:border-green-900 dark:bg-green-900/30 dark:text-green-400" className="my-1 ml-1 inline-block rounded-full border border-green-300 bg-green-50 px-3 py-0.5 text-xs font-medium capitalize text-green-600 dark:border-green-900 dark:bg-green-900/30 dark:text-green-400"
> >
Nx Team Nx Open Source
</div> </div>
) : ( ) : pluginType === 'nxPowerpack' ? (
<div className="my-1 ml-1"> <div
<NxVersionWidget nxVersion={nxVersion}></NxVersionWidget> data-tooltip="Maintained by the Nx Team"
data-tooltip-align-right
className="my-1 ml-1 inline-block rounded-full border border-green-300 bg-green-50 px-3 py-0.5 text-xs font-medium capitalize text-green-600 dark:border-green-900 dark:bg-green-900/30 dark:text-green-400"
>
Nx Powerpack
</div> </div>
)} ) : undefined}
</div> </div>
</div> </div>
</Link> </Link>

View File

@ -6,7 +6,7 @@ import {
StarIcon, StarIcon,
} from '@heroicons/react/24/outline'; } from '@heroicons/react/24/outline';
import { MagnifyingGlassIcon } from '@heroicons/react/24/solid'; import { MagnifyingGlassIcon } from '@heroicons/react/24/solid';
import { PluginCard, SectionHeading } from '@nx/nx-dev/ui-common'; import { PluginCard, PluginType, SectionHeading } from '@nx/nx-dev/ui-common';
import { useParams } from 'next/navigation'; import { useParams } from 'next/navigation';
import { useEffect, useState, useRef, ElementRef } from 'react'; import { useEffect, useState, useRef, ElementRef } from 'react';
@ -14,7 +14,7 @@ interface Plugin {
description: string; description: string;
name: string; name: string;
url: string; url: string;
isOfficial: boolean; pluginType: PluginType;
lastPublishedDate?: string; lastPublishedDate?: string;
npmDownloads?: string; npmDownloads?: string;
githubStars?: string; githubStars?: string;
@ -260,7 +260,7 @@ export function PluginDirectory({
key={plugin.name} key={plugin.name}
name={plugin.name} name={plugin.name}
description={plugin.description} description={plugin.description}
isOfficial={plugin.isOfficial} pluginType={plugin.pluginType}
lastPublishedDate={plugin.lastPublishedDate} lastPublishedDate={plugin.lastPublishedDate}
npmDownloads={plugin.npmDownloads} npmDownloads={plugin.npmDownloads}
githubStars={plugin.githubStars} githubStars={plugin.githubStars}

View File

@ -26,7 +26,7 @@ export function PowerpackFeatures(): ReactElement {
Self-hosted cache storage Self-hosted cache storage
</SectionHeading> </SectionHeading>
<p className="mt-6 text-pretty text-lg"> <p className="mt-6 text-pretty text-lg">
Nx Powerpack enables you to use <Strong>AWS S3</Strong> or a{' '} Nx Powerpack enables you to use <Strong>Amazon S3</Strong> or a{' '}
<Strong>shared network drive</Strong> as your remote cache <Strong>shared network drive</Strong> as your remote cache
storage, offering a flexible, self-managed solution for faster storage, offering a flexible, self-managed solution for faster
builds. builds.
@ -194,7 +194,7 @@ export function CustomRemoteCacheAnimation(): ReactElement {
<ButtonLink <ButtonLink
href="/nx-api/powerpack-s3-cache" href="/nx-api/powerpack-s3-cache"
title="Learn how to configure AWS S3 caching" title="Learn how to configure Amazon S3 caching"
variant="secondary" variant="secondary"
size="small" size="small"
className="mt-4" className="mt-4"