chore(graph): add ability to filter tasks without dependencies (#13269)
This commit is contained in:
parent
328c54787f
commit
bc2f2490e6
@ -63,6 +63,7 @@
|
|||||||
"assets": [
|
"assets": [
|
||||||
"graph/client/src/favicon.ico",
|
"graph/client/src/favicon.ico",
|
||||||
"graph/client/src/assets/project-graphs/",
|
"graph/client/src/assets/project-graphs/",
|
||||||
|
"graph/client/src/assets/task-graphs/",
|
||||||
"graph/client/src/assets/generated-project-graphs/",
|
"graph/client/src/assets/generated-project-graphs/",
|
||||||
"graph/client/src/assets/generated-task-graphs/",
|
"graph/client/src/assets/generated-task-graphs/",
|
||||||
{
|
{
|
||||||
@ -76,6 +77,7 @@
|
|||||||
"assets": [
|
"assets": [
|
||||||
"graph/client/src/favicon.ico",
|
"graph/client/src/favicon.ico",
|
||||||
"graph/client/src/assets/project-graphs/",
|
"graph/client/src/assets/project-graphs/",
|
||||||
|
"graph/client/src/assets/task-graphs/",
|
||||||
{
|
{
|
||||||
"input": "graph/client/src/assets/dev-e2e",
|
"input": "graph/client/src/assets/dev-e2e",
|
||||||
"output": "/",
|
"output": "/",
|
||||||
|
|||||||
@ -134,7 +134,7 @@ export function ProjectsSidebar(): JSX.Element {
|
|||||||
useIntervalWhen(
|
useIntervalWhen(
|
||||||
() => {
|
() => {
|
||||||
const selectedWorkspaceId =
|
const selectedWorkspaceId =
|
||||||
params.selectedProjectId ??
|
params.selectedWorkspaceId ??
|
||||||
environmentConfig.appConfig.defaultWorkspaceId;
|
environmentConfig.appConfig.defaultWorkspaceId;
|
||||||
|
|
||||||
const projectInfo = environmentConfig.appConfig.workspaces.find(
|
const projectInfo = environmentConfig.appConfig.workspaces.find(
|
||||||
|
|||||||
@ -15,11 +15,18 @@ import { useEffect } from 'react';
|
|||||||
import FocusedPanel from '../ui-components/focused-panel';
|
import FocusedPanel from '../ui-components/focused-panel';
|
||||||
import CheckboxPanel from '../ui-components/checkbox-panel';
|
import CheckboxPanel from '../ui-components/checkbox-panel';
|
||||||
|
|
||||||
|
// nx-ignore-next-line
|
||||||
|
import { TargetConfiguration } from 'nx/src/config/workspace-json-project-json';
|
||||||
|
|
||||||
export function TasksSidebar() {
|
export function TasksSidebar() {
|
||||||
const graphService = getGraphService();
|
const graphService = getGraphService();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const params = useParams();
|
const params = useParams();
|
||||||
|
|
||||||
const [searchParams, setSearchParams] = useSearchParams();
|
const [searchParams, setSearchParams] = useSearchParams();
|
||||||
|
const groupByProject = searchParams.get('groupByProject') === 'true';
|
||||||
|
const hideTasksWithoutDeps =
|
||||||
|
searchParams.get('filterTasksWithoutDeps') !== 'false';
|
||||||
|
|
||||||
const selectedProjectRouteData = useRouteLoaderData(
|
const selectedProjectRouteData = useRouteLoaderData(
|
||||||
'selectedWorkspace'
|
'selectedWorkspace'
|
||||||
@ -30,17 +37,27 @@ export function TasksSidebar() {
|
|||||||
'selectedTask'
|
'selectedTask'
|
||||||
) as TaskGraphClientResponse;
|
) as TaskGraphClientResponse;
|
||||||
const { taskGraphs } = routeData;
|
const { taskGraphs } = routeData;
|
||||||
const projects = selectedProjectRouteData.projects;
|
let projects = selectedProjectRouteData.projects;
|
||||||
// const projects = selectedProjectRouteData.projects.filter((project) => {
|
|
||||||
// return (
|
if (searchParams.get('filterTasksWithoutDeps') !== 'false') {
|
||||||
// Object.keys(project.data.targets).filter((target) => {
|
projects = projects
|
||||||
// const taskName = `${project.name}:${target}`;
|
.map((project) => {
|
||||||
// return (
|
const targets: { [p: string]: TargetConfiguration } = {};
|
||||||
// taskGraphs[taskName]?.dependencies[taskName]?.length > 0
|
|
||||||
// );
|
Object.keys(project.data.targets).forEach((targetName) => {
|
||||||
// }).length > 0
|
const taskName = `${project.name}:${targetName}`;
|
||||||
// );
|
if (taskGraphs[taskName]?.dependencies[taskName]?.length > 0) {
|
||||||
// });
|
targets[targetName] = project.data.targets[targetName];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return Object.keys(targets).length > 0
|
||||||
|
? { ...project, data: { ...project.data, targets } }
|
||||||
|
: null;
|
||||||
|
})
|
||||||
|
.filter((project) => project !== null);
|
||||||
|
}
|
||||||
|
|
||||||
const selectedTask = params['selectedTaskId'];
|
const selectedTask = params['selectedTaskId'];
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -64,8 +81,6 @@ export function TasksSidebar() {
|
|||||||
}
|
}
|
||||||
}, [params]);
|
}, [params]);
|
||||||
|
|
||||||
const groupByProject = searchParams.get('groupByProject') === 'true';
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (groupByProject) {
|
if (groupByProject) {
|
||||||
graphService.handleTaskEvent({
|
graphService.handleTaskEvent({
|
||||||
@ -81,23 +96,46 @@ export function TasksSidebar() {
|
|||||||
}, [searchParams]);
|
}, [searchParams]);
|
||||||
|
|
||||||
function selectTask(taskId: string) {
|
function selectTask(taskId: string) {
|
||||||
|
if (taskId === selectedTask) return;
|
||||||
|
|
||||||
if (selectedTask) {
|
if (selectedTask) {
|
||||||
navigate(`../${taskId}`);
|
navigate(
|
||||||
|
{ pathname: `../${taskId}`, search: searchParams.toString() },
|
||||||
|
{ relative: 'path' }
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
navigate(`./${taskId}`);
|
navigate(
|
||||||
|
{ pathname: `${taskId}`, search: searchParams.toString() },
|
||||||
|
{ relative: 'path' }
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetFocus() {
|
function resetFocus() {
|
||||||
navigate('..');
|
navigate('..', { relative: 'path' });
|
||||||
}
|
}
|
||||||
|
|
||||||
function groupByProjectChanged(checked) {
|
function groupByProjectChanged(checked) {
|
||||||
|
setSearchParams(
|
||||||
|
(currentSearchParams) => {
|
||||||
|
if (checked) {
|
||||||
|
currentSearchParams.set('groupByProject', 'true');
|
||||||
|
} else {
|
||||||
|
currentSearchParams.delete('groupByProject');
|
||||||
|
}
|
||||||
|
|
||||||
|
return currentSearchParams;
|
||||||
|
},
|
||||||
|
{ relative: 'path' }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hideTasksWithoutDepsChanged(checked) {
|
||||||
setSearchParams((currentSearchParams) => {
|
setSearchParams((currentSearchParams) => {
|
||||||
if (checked) {
|
if (!checked) {
|
||||||
currentSearchParams.set('groupByProject', 'true');
|
currentSearchParams.set('filterTasksWithoutDeps', 'false');
|
||||||
} else {
|
} else {
|
||||||
currentSearchParams.delete('groupByProject');
|
currentSearchParams.delete('filterTasksWithoutDeps');
|
||||||
}
|
}
|
||||||
|
|
||||||
return currentSearchParams;
|
return currentSearchParams;
|
||||||
@ -121,6 +159,16 @@ export function TasksSidebar() {
|
|||||||
description={'Visually arrange tasks by project.'}
|
description={'Visually arrange tasks by project.'}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<CheckboxPanel
|
||||||
|
checked={hideTasksWithoutDeps}
|
||||||
|
checkChanged={hideTasksWithoutDepsChanged}
|
||||||
|
name={'hideTasksWithoutDeps'}
|
||||||
|
label={'Hide tasks without dependencies'}
|
||||||
|
description={
|
||||||
|
"Don't show tasks without dependencies, which means only that task will be executed when run."
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
|
||||||
<TaskList
|
<TaskList
|
||||||
projects={projects}
|
projects={projects}
|
||||||
workspaceLayout={workspaceLayout}
|
workspaceLayout={workspaceLayout}
|
||||||
|
|||||||
@ -31,9 +31,9 @@ const workspaceDataLoader = async (selectedWorkspaceId: string) => {
|
|||||||
return projectGraph;
|
return projectGraph;
|
||||||
};
|
};
|
||||||
|
|
||||||
const taskDataLoader = async (selectedProjectId: string) => {
|
const taskDataLoader = async (selectedWorkspaceId: string) => {
|
||||||
const projectInfo = appConfig.workspaces.find(
|
const projectInfo = appConfig.workspaces.find(
|
||||||
(graph) => graph.id === selectedProjectId
|
(graph) => graph.id === selectedWorkspaceId
|
||||||
);
|
);
|
||||||
|
|
||||||
return await projectGraphDataService.getTaskGraph(projectInfo.taskGraphUrl);
|
return await projectGraphDataService.getTaskGraph(projectInfo.taskGraphUrl);
|
||||||
@ -42,7 +42,6 @@ const taskDataLoader = async (selectedProjectId: string) => {
|
|||||||
const childRoutes: RouteObject[] = [
|
const childRoutes: RouteObject[] = [
|
||||||
{
|
{
|
||||||
path: 'projects',
|
path: 'projects',
|
||||||
loader: () => {},
|
|
||||||
element: <ProjectsSidebar />,
|
element: <ProjectsSidebar />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -53,12 +52,18 @@ const childRoutes: RouteObject[] = [
|
|||||||
return redirect(`/projects`);
|
return redirect(`/projects`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const selectedProjectId =
|
const selectedWorkspaceId =
|
||||||
params.selectedProjectId ?? appConfig.defaultWorkspaceId;
|
params.selectedWorkspaceId ?? appConfig.defaultWorkspaceId;
|
||||||
return taskDataLoader(selectedProjectId);
|
return taskDataLoader(selectedWorkspaceId);
|
||||||
},
|
},
|
||||||
path: 'tasks',
|
path: 'tasks',
|
||||||
id: 'selectedTask',
|
id: 'selectedTask',
|
||||||
|
shouldRevalidate: ({ currentParams, nextParams }) => {
|
||||||
|
return (
|
||||||
|
!currentParams.selectedWorkspaceId ||
|
||||||
|
currentParams.selectedWorkspaceId !== nextParams.selectedWorkspaceId
|
||||||
|
);
|
||||||
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
index: true,
|
index: true,
|
||||||
@ -85,13 +90,18 @@ export const devRoutes: RouteObject[] = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: ':selectedProjectId',
|
path: ':selectedWorkspaceId',
|
||||||
id: 'selectedWorkspace',
|
id: 'selectedWorkspace',
|
||||||
element: <Shell />,
|
element: <Shell />,
|
||||||
|
shouldRevalidate: ({ currentParams, nextParams }) => {
|
||||||
|
return (
|
||||||
|
currentParams.selectedWorkspaceId !== nextParams.selectedWorkspaceId
|
||||||
|
);
|
||||||
|
},
|
||||||
loader: async ({ request, params }) => {
|
loader: async ({ request, params }) => {
|
||||||
const selectedProjectId =
|
const selectedWorkspaceId =
|
||||||
params.selectedProjectId ?? appConfig.defaultWorkspaceId;
|
params.selectedWorkspaceId ?? appConfig.defaultWorkspaceId;
|
||||||
return workspaceDataLoader(selectedProjectId);
|
return workspaceDataLoader(selectedWorkspaceId);
|
||||||
},
|
},
|
||||||
children: childRoutes,
|
children: childRoutes,
|
||||||
},
|
},
|
||||||
@ -107,6 +117,9 @@ export const releaseRoutes: RouteObject[] = [
|
|||||||
const selectedWorkspaceId = appConfig.defaultWorkspaceId;
|
const selectedWorkspaceId = appConfig.defaultWorkspaceId;
|
||||||
return workspaceDataLoader(selectedWorkspaceId);
|
return workspaceDataLoader(selectedWorkspaceId);
|
||||||
},
|
},
|
||||||
|
shouldRevalidate: () => {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
element: <Shell />,
|
element: <Shell />,
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -44,7 +44,7 @@ export function Shell(): JSX.Element {
|
|||||||
|
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const currentPath = useCurrentPath();
|
const currentPath = useCurrentPath();
|
||||||
const { selectedProjectId, selectedTaskId } = useParams();
|
const { selectedWorkspaceId, selectedTaskId } = useParams();
|
||||||
const taskIsSelected = !!selectedTaskId;
|
const taskIsSelected = !!selectedTaskId;
|
||||||
const currentRoute = currentPath.currentPath;
|
const currentRoute = currentPath.currentPath;
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ export function Shell(): JSX.Element {
|
|||||||
];
|
];
|
||||||
|
|
||||||
function projectChange(projectGraphId: string) {
|
function projectChange(projectGraphId: string) {
|
||||||
// setSelectedProjectId(projectGraphId);
|
// setselectedWorkspaceId(projectGraphId);
|
||||||
|
|
||||||
navigate(`/${projectGraphId}${topLevelRoute}`);
|
navigate(`/${projectGraphId}${topLevelRoute}`);
|
||||||
}
|
}
|
||||||
@ -169,7 +169,7 @@ export function Shell(): JSX.Element {
|
|||||||
{environment.appConfig.showDebugger ? (
|
{environment.appConfig.showDebugger ? (
|
||||||
<DebuggerPanel
|
<DebuggerPanel
|
||||||
projects={environment.appConfig.workspaces}
|
projects={environment.appConfig.workspaces}
|
||||||
selectedProject={selectedProjectId}
|
selectedProject={selectedWorkspaceId}
|
||||||
lastPerfReport={lastPerfReport}
|
lastPerfReport={lastPerfReport}
|
||||||
selectedProjectChange={projectChange}
|
selectedProjectChange={projectChange}
|
||||||
></DebuggerPanel>
|
></DebuggerPanel>
|
||||||
|
|||||||
@ -10,7 +10,7 @@ export interface TaskNodeTooltipProps {
|
|||||||
|
|
||||||
export function TaskNodeTooltip({ id, executor }: TaskNodeTooltipProps) {
|
export function TaskNodeTooltip({ id, executor }: TaskNodeTooltipProps) {
|
||||||
const params = useParams();
|
const params = useParams();
|
||||||
const selectedWorkspaceId = params['selectedProjectId'];
|
const selectedWorkspaceId = params['selectedWorkspaceId'];
|
||||||
|
|
||||||
const to = selectedWorkspaceId
|
const to = selectedWorkspaceId
|
||||||
? `/${selectedWorkspaceId}/tasks/${id}`
|
? `/${selectedWorkspaceId}/tasks/${id}`
|
||||||
|
|||||||
@ -1,119 +0,0 @@
|
|||||||
{
|
|
||||||
"hash": "1c2b69586aa096dc5e42eb252d0b5bfb94f20dc969a1e7b6f381a3b13add6928",
|
|
||||||
"layout": {
|
|
||||||
"appsDir": "apps",
|
|
||||||
"libsDir": "libs"
|
|
||||||
},
|
|
||||||
"projects": [
|
|
||||||
{
|
|
||||||
"name": "app1",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "apps/app1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "app2",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "apps/app2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib1",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib2",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib3",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib4",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib5",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib5"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"app1": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "app1",
|
|
||||||
"target": "lib1"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"app2": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "app2",
|
|
||||||
"target": "lib2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "app2",
|
|
||||||
"target": "lib5"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib1": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib1",
|
|
||||||
"target": "lib3"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib2": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib2",
|
|
||||||
"target": "lib3"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib3": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib3",
|
|
||||||
"target": "lib4"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib4": [],
|
|
||||||
"lib5": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib5",
|
|
||||||
"target": "lib4"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"affected": ["lib3", "lib1", "lib2", "app1", "app2"],
|
|
||||||
"changes": {
|
|
||||||
"added": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,222 +0,0 @@
|
|||||||
{
|
|
||||||
"hash": "1c2b69586aa096dc5e42eb252d0b5bfb94f20dc969a1e7b6f381a3b13add6928",
|
|
||||||
"layout": {
|
|
||||||
"appsDir": "apps",
|
|
||||||
"libsDir": "libs"
|
|
||||||
},
|
|
||||||
"projects": [
|
|
||||||
{
|
|
||||||
"name": "web",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "apps/app1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "admin",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "apps/app2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "core-util-auth",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "core/util-auth"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "web-feature-home-page",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "web/feature-homepage"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "web-feature-search",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "web/feature-search"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "web-data-access",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "web/feature-search"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "admin-feature-users",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "admin/feature-users"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "admin-feature-billing",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "admin/feature-billing"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "admin-data-access",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "admin/data-access"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "shared-components-ui-button",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "shared/components/ui-button"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "shared-components-ui-form",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "shared/components/ui-form"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "shared-util",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "shared/util"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"web": [
|
|
||||||
{
|
|
||||||
"type": "dynamic",
|
|
||||||
"source": "web",
|
|
||||||
"target": "web-feature-home-page"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "dynamic",
|
|
||||||
"source": "web",
|
|
||||||
"target": "web-feature-search"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "web",
|
|
||||||
"target": "core-util-auth"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"admin": [
|
|
||||||
{
|
|
||||||
"type": "dynamic",
|
|
||||||
"source": "admin",
|
|
||||||
"target": "admin-feature-users"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "dynamic",
|
|
||||||
"source": "admin",
|
|
||||||
"target": "admin-feature-billing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "admin",
|
|
||||||
"target": "core-util-auth"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"web-feature-home-page": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "web-feature-home-page",
|
|
||||||
"target": "web-data-access"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "web-feature-home-page",
|
|
||||||
"target": "shared-components-ui-button"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"web-feature-search": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "web-feature-search",
|
|
||||||
"target": "web-data-access"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "web-feature-search",
|
|
||||||
"target": "shared-components-ui-button"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "web-feature-search",
|
|
||||||
"target": "shared-components-ui-form"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"web-data-access": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "web-data-access",
|
|
||||||
"target": "core-util-auth"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"admin-feature-users": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "admin-feature-users",
|
|
||||||
"target": "admin-data-access"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "admin-feature-users",
|
|
||||||
"target": "shared-components-ui-button"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"admin-feature-billing": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "admin-feature-billing",
|
|
||||||
"target": "admin-data-access"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "admin-feature-billing",
|
|
||||||
"target": "shared-components-ui-button"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"admin-data-access": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "admin-data-access",
|
|
||||||
"target": "core-util-auth"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"core-util-auth": [],
|
|
||||||
"shared-components-ui-button": [],
|
|
||||||
"shared-components-ui-form": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "shared-components-ui-form",
|
|
||||||
"target": "shared-util"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"shared-util": []
|
|
||||||
},
|
|
||||||
"affected": [],
|
|
||||||
"changes": {
|
|
||||||
"added": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,119 +0,0 @@
|
|||||||
{
|
|
||||||
"hash": "1c2b69586aa096dc5e42eb252d0b5bfb94f20dc969a1e7b6f381a3b13add6928",
|
|
||||||
"layout": {
|
|
||||||
"appsDir": "apps",
|
|
||||||
"libsDir": "libs"
|
|
||||||
},
|
|
||||||
"projects": [
|
|
||||||
{
|
|
||||||
"name": "app1",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "apps/app1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "app2",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "apps/app2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib1",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib2",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib3",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib4",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib5",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "libs/lib5"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"app1": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "app1",
|
|
||||||
"target": "lib1"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"app2": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "app2",
|
|
||||||
"target": "lib2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "app2",
|
|
||||||
"target": "lib5"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib1": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib1",
|
|
||||||
"target": "lib3"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib2": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib2",
|
|
||||||
"target": "lib3"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib3": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib3",
|
|
||||||
"target": "lib4"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib4": [],
|
|
||||||
"lib5": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib5",
|
|
||||||
"target": "lib4"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"affected": [],
|
|
||||||
"changes": {
|
|
||||||
"added": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,119 +0,0 @@
|
|||||||
{
|
|
||||||
"hash": "1c2b69586aa096dc5e42eb252d0b5bfb94f20dc969a1e7b6f381a3b13add6928",
|
|
||||||
"layout": {
|
|
||||||
"appsDir": "nested-workspace/apps",
|
|
||||||
"libsDir": "nested-workspace/libs"
|
|
||||||
},
|
|
||||||
"projects": [
|
|
||||||
{
|
|
||||||
"name": "app1",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "nested-workspace/apps/app1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "app2",
|
|
||||||
"type": "app",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "nested-workspace/apps/app2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib1",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "nested-workspace/libs/lib1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib2",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "nested-workspace/libs/lib2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib3",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "nested-workspace/libs/scope/lib3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib4",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "nested-workspace/libs/scope/lib4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib5",
|
|
||||||
"type": "lib",
|
|
||||||
"data": {
|
|
||||||
"tags": [],
|
|
||||||
"root": "nested-workspace/libs/lib5"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"app1": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "app1",
|
|
||||||
"target": "lib1"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"app2": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "app2",
|
|
||||||
"target": "lib2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "app2",
|
|
||||||
"target": "lib5"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib1": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib1",
|
|
||||||
"target": "lib3"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib2": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib2",
|
|
||||||
"target": "lib3"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib3": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib3",
|
|
||||||
"target": "lib4"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lib4": [],
|
|
||||||
"lib5": [
|
|
||||||
{
|
|
||||||
"type": "static",
|
|
||||||
"source": "lib5",
|
|
||||||
"target": "lib4"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"affected": [],
|
|
||||||
"changes": {
|
|
||||||
"added": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,55 +0,0 @@
|
|||||||
{
|
|
||||||
"hash": "1c2b69586aa096dc5e42eb252d0b5bfb94f20dc969a1e7b6f381a3b13add6928",
|
|
||||||
"layout": { "appsDir": "apps", "libsDir": "libs" },
|
|
||||||
"projects": [
|
|
||||||
{
|
|
||||||
"name": "sub/app-e2e",
|
|
||||||
"type": "e2e",
|
|
||||||
"data": { "tags": [], "root": "apps/sub/app-e2e" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "webapp-e2e",
|
|
||||||
"type": "e2e",
|
|
||||||
"data": { "tags": [], "root": "apps/webapp-e2e" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "first-e2e",
|
|
||||||
"type": "e2e",
|
|
||||||
"data": { "tags": [], "root": "apps/first-e2e" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "sub-app",
|
|
||||||
"type": "app",
|
|
||||||
"data": { "tags": [], "root": "apps/sub/app" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "webapp",
|
|
||||||
"type": "app",
|
|
||||||
"data": { "tags": [], "root": "apps/webapp" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "first",
|
|
||||||
"type": "app",
|
|
||||||
"data": { "tags": [], "root": "apps/first" }
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"sub/app-e2e": [
|
|
||||||
{ "type": "implicit", "source": "sub/app-e2e", "target": "sub-app" }
|
|
||||||
],
|
|
||||||
"webapp-e2e": [
|
|
||||||
{ "type": "implicit", "source": "webapp-e2e", "target": "webapp" }
|
|
||||||
],
|
|
||||||
"first-e2e": [
|
|
||||||
{ "type": "implicit", "source": "first-e2e", "target": "first" }
|
|
||||||
],
|
|
||||||
"sub-app": [],
|
|
||||||
"webapp": [],
|
|
||||||
"first": []
|
|
||||||
},
|
|
||||||
"changes": { "added": [] },
|
|
||||||
"affected": [],
|
|
||||||
"focus": null,
|
|
||||||
"exclude": [],
|
|
||||||
"groupByFolder": false
|
|
||||||
}
|
|
||||||
745
graph/client/src/assets/task-graphs/e2e.json
Normal file
745
graph/client/src/assets/task-graphs/e2e.json
Normal file
@ -0,0 +1,745 @@
|
|||||||
|
{
|
||||||
|
"taskGraphs": {
|
||||||
|
"products-product-detail-page:lint": {
|
||||||
|
"roots": ["products-product-detail-page:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"products-product-detail-page:lint": {
|
||||||
|
"id": "products-product-detail-page:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "products-product-detail-page",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/products/product-detail-page",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products-product-detail-page:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products-product-detail-page:test": {
|
||||||
|
"roots": ["products-product-detail-page:test"],
|
||||||
|
"tasks": {
|
||||||
|
"products-product-detail-page:test": {
|
||||||
|
"id": "products-product-detail-page:test",
|
||||||
|
"target": {
|
||||||
|
"project": "products-product-detail-page",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/products/product-detail-page",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products-product-detail-page:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-product-state:lint": {
|
||||||
|
"roots": ["shared-product-state:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-product-state:lint": {
|
||||||
|
"id": "shared-product-state:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-product-state",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/product/state",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-product-state:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-product-state:test": {
|
||||||
|
"roots": ["shared-product-state:test"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-product-state:test": {
|
||||||
|
"id": "shared-product-state:test",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-product-state",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/product/state",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-product-state:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-product-types:lint": {
|
||||||
|
"roots": ["shared-product-types:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-product-types:lint": {
|
||||||
|
"id": "shared-product-types:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-product-types",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/product/types",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-product-types:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-product-data:lint": {
|
||||||
|
"roots": ["shared-product-data:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-product-data:lint": {
|
||||||
|
"id": "shared-product-data:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-product-data",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/product/data",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-product-data:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products-home-page:lint": {
|
||||||
|
"roots": ["products-home-page:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"products-home-page:lint": {
|
||||||
|
"id": "products-home-page:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "products-home-page",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/products/home-page",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products-home-page:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products-home-page:test": {
|
||||||
|
"roots": ["products-home-page:test"],
|
||||||
|
"tasks": {
|
||||||
|
"products-home-page:test": {
|
||||||
|
"id": "products-home-page:test",
|
||||||
|
"target": {
|
||||||
|
"project": "products-home-page",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/products/home-page",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products-home-page:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-cart-state:lint": {
|
||||||
|
"roots": ["shared-cart-state:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-cart-state:lint": {
|
||||||
|
"id": "shared-cart-state:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-cart-state",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/cart/state",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-cart-state:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-cart-state:test": {
|
||||||
|
"roots": ["shared-cart-state:test"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-cart-state:test": {
|
||||||
|
"id": "shared-cart-state:test",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-cart-state",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/cart/state",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-cart-state:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-product-ui:lint": {
|
||||||
|
"roots": ["shared-product-ui:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-product-ui:lint": {
|
||||||
|
"id": "shared-product-ui:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-product-ui",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/product/ui",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-product-ui:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-product-ui:test": {
|
||||||
|
"roots": ["shared-product-ui:test"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-product-ui:test": {
|
||||||
|
"id": "shared-product-ui:test",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-product-ui",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/product/ui",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-product-ui:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-e2e-utils:lint": {
|
||||||
|
"roots": ["shared-e2e-utils:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-e2e-utils:lint": {
|
||||||
|
"id": "shared-e2e-utils:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-e2e-utils",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/e2e-utils",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-e2e-utils:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart-cart-page:lint": {
|
||||||
|
"roots": ["cart-cart-page:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"cart-cart-page:lint": {
|
||||||
|
"id": "cart-cart-page:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "cart-cart-page",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/cart/cart-page",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart-cart-page:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart-cart-page:test": {
|
||||||
|
"roots": ["cart-cart-page:test"],
|
||||||
|
"tasks": {
|
||||||
|
"cart-cart-page:test": {
|
||||||
|
"id": "cart-cart-page:test",
|
||||||
|
"target": {
|
||||||
|
"project": "cart-cart-page",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/cart/cart-page",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart-cart-page:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-header:lint": {
|
||||||
|
"roots": ["shared-header:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-header:lint": {
|
||||||
|
"id": "shared-header:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-header",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/header",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-header:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-header:test": {
|
||||||
|
"roots": ["shared-header:test"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-header:test": {
|
||||||
|
"id": "shared-header:test",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-header",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/header",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-header:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"shared-jsxify:lint": {
|
||||||
|
"roots": ["shared-jsxify:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"shared-jsxify:lint": {
|
||||||
|
"id": "shared-jsxify:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "shared-jsxify",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/shared/jsxify",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"shared-jsxify:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products-e2e:e2e": {
|
||||||
|
"roots": ["products-e2e:e2e"],
|
||||||
|
"tasks": {
|
||||||
|
"products-e2e:e2e": {
|
||||||
|
"id": "products-e2e:e2e",
|
||||||
|
"target": {
|
||||||
|
"project": "products-e2e",
|
||||||
|
"target": "e2e"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products-e2e",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products-e2e:e2e": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products-e2e:e2e:production": {
|
||||||
|
"roots": ["products-e2e:e2e:production"],
|
||||||
|
"tasks": {
|
||||||
|
"products-e2e:e2e:production": {
|
||||||
|
"id": "products-e2e:e2e:production",
|
||||||
|
"target": {
|
||||||
|
"project": "products-e2e",
|
||||||
|
"target": "e2e",
|
||||||
|
"configuration": "production"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products-e2e",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products-e2e:e2e:production": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products-e2e:lint": {
|
||||||
|
"roots": ["products-e2e:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"products-e2e:lint": {
|
||||||
|
"id": "products-e2e:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "products-e2e",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products-e2e",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products-e2e:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart-e2e:e2e": {
|
||||||
|
"roots": ["cart-e2e:e2e"],
|
||||||
|
"tasks": {
|
||||||
|
"cart-e2e:e2e": {
|
||||||
|
"id": "cart-e2e:e2e",
|
||||||
|
"target": {
|
||||||
|
"project": "cart-e2e",
|
||||||
|
"target": "e2e"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart-e2e",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart-e2e:e2e": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart-e2e:e2e:production": {
|
||||||
|
"roots": ["cart-e2e:e2e:production"],
|
||||||
|
"tasks": {
|
||||||
|
"cart-e2e:e2e:production": {
|
||||||
|
"id": "cart-e2e:e2e:production",
|
||||||
|
"target": {
|
||||||
|
"project": "cart-e2e",
|
||||||
|
"target": "e2e",
|
||||||
|
"configuration": "production"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart-e2e",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart-e2e:e2e:production": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart-e2e:lint": {
|
||||||
|
"roots": ["cart-e2e:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"cart-e2e:lint": {
|
||||||
|
"id": "cart-e2e:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "cart-e2e",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart-e2e",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart-e2e:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products:build": {
|
||||||
|
"roots": ["products:build"],
|
||||||
|
"tasks": {
|
||||||
|
"products:build": {
|
||||||
|
"id": "products:build",
|
||||||
|
"target": {
|
||||||
|
"project": "products",
|
||||||
|
"target": "build"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products:build": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products:build:production": {
|
||||||
|
"roots": ["products:build:production"],
|
||||||
|
"tasks": {
|
||||||
|
"products:build:production": {
|
||||||
|
"id": "products:build:production",
|
||||||
|
"target": {
|
||||||
|
"project": "products",
|
||||||
|
"target": "build",
|
||||||
|
"configuration": "production"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products:build:production": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products:serve": {
|
||||||
|
"roots": ["products:serve"],
|
||||||
|
"tasks": {
|
||||||
|
"products:serve": {
|
||||||
|
"id": "products:serve",
|
||||||
|
"target": {
|
||||||
|
"project": "products",
|
||||||
|
"target": "serve"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products:serve": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products:serve:production": {
|
||||||
|
"roots": ["products:serve:production"],
|
||||||
|
"tasks": {
|
||||||
|
"products:serve:production": {
|
||||||
|
"id": "products:serve:production",
|
||||||
|
"target": {
|
||||||
|
"project": "products",
|
||||||
|
"target": "serve",
|
||||||
|
"configuration": "production"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products:serve:production": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products:extract-i18n": {
|
||||||
|
"roots": ["products:extract-i18n"],
|
||||||
|
"tasks": {
|
||||||
|
"products:extract-i18n": {
|
||||||
|
"id": "products:extract-i18n",
|
||||||
|
"target": {
|
||||||
|
"project": "products",
|
||||||
|
"target": "extract-i18n"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products:extract-i18n": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products:lint": {
|
||||||
|
"roots": ["products:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"products:lint": {
|
||||||
|
"id": "products:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "products",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products:test": {
|
||||||
|
"roots": ["products:test"],
|
||||||
|
"tasks": {
|
||||||
|
"products:test": {
|
||||||
|
"id": "products:test",
|
||||||
|
"target": {
|
||||||
|
"project": "products",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"products:deploy": {
|
||||||
|
"roots": ["products:deploy"],
|
||||||
|
"tasks": {
|
||||||
|
"products:deploy": {
|
||||||
|
"id": "products:deploy",
|
||||||
|
"target": {
|
||||||
|
"project": "products",
|
||||||
|
"target": "deploy"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/products",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"products:deploy": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"new-lib:test": {
|
||||||
|
"roots": ["new-lib:test"],
|
||||||
|
"tasks": {
|
||||||
|
"new-lib:test": {
|
||||||
|
"id": "new-lib:test",
|
||||||
|
"target": {
|
||||||
|
"project": "new-lib",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/new-lib",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"new-lib:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"new-lib:lint": {
|
||||||
|
"roots": ["new-lib:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"new-lib:lint": {
|
||||||
|
"id": "new-lib:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "new-lib",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "libs/new-lib",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"new-lib:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart:build": {
|
||||||
|
"roots": ["cart:build:production"],
|
||||||
|
"tasks": {
|
||||||
|
"cart:build:production": {
|
||||||
|
"id": "cart:build:production",
|
||||||
|
"target": {
|
||||||
|
"project": "cart",
|
||||||
|
"target": "build",
|
||||||
|
"configuration": "production"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart:build:production": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart:build:production": {
|
||||||
|
"roots": ["cart:build:production"],
|
||||||
|
"tasks": {
|
||||||
|
"cart:build:production": {
|
||||||
|
"id": "cart:build:production",
|
||||||
|
"target": {
|
||||||
|
"project": "cart",
|
||||||
|
"target": "build",
|
||||||
|
"configuration": "production"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart:build:production": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart:build:development": {
|
||||||
|
"roots": ["cart:build:development"],
|
||||||
|
"tasks": {
|
||||||
|
"cart:build:development": {
|
||||||
|
"id": "cart:build:development",
|
||||||
|
"target": {
|
||||||
|
"project": "cart",
|
||||||
|
"target": "build",
|
||||||
|
"configuration": "development"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart:build:development": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart:serve": {
|
||||||
|
"roots": ["cart:serve:development"],
|
||||||
|
"tasks": {
|
||||||
|
"cart:serve:development": {
|
||||||
|
"id": "cart:serve:development",
|
||||||
|
"target": {
|
||||||
|
"project": "cart",
|
||||||
|
"target": "serve",
|
||||||
|
"configuration": "development"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart:serve:development": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart:serve:production": {
|
||||||
|
"roots": ["cart:serve:production"],
|
||||||
|
"tasks": {
|
||||||
|
"cart:serve:production": {
|
||||||
|
"id": "cart:serve:production",
|
||||||
|
"target": {
|
||||||
|
"project": "cart",
|
||||||
|
"target": "serve",
|
||||||
|
"configuration": "production"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart:serve:production": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart:serve:development": {
|
||||||
|
"roots": ["cart:serve:development"],
|
||||||
|
"tasks": {
|
||||||
|
"cart:serve:development": {
|
||||||
|
"id": "cart:serve:development",
|
||||||
|
"target": {
|
||||||
|
"project": "cart",
|
||||||
|
"target": "serve",
|
||||||
|
"configuration": "development"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart:serve:development": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart:lint": {
|
||||||
|
"roots": ["cart:lint"],
|
||||||
|
"tasks": {
|
||||||
|
"cart:lint": {
|
||||||
|
"id": "cart:lint",
|
||||||
|
"target": {
|
||||||
|
"project": "cart",
|
||||||
|
"target": "lint"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart:lint": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart:test": {
|
||||||
|
"roots": ["cart:test"],
|
||||||
|
"tasks": {
|
||||||
|
"cart:test": {
|
||||||
|
"id": "cart:test",
|
||||||
|
"target": {
|
||||||
|
"project": "cart",
|
||||||
|
"target": "test"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart:test": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cart:deploy": {
|
||||||
|
"roots": ["cart:deploy"],
|
||||||
|
"tasks": {
|
||||||
|
"cart:deploy": {
|
||||||
|
"id": "cart:deploy",
|
||||||
|
"target": {
|
||||||
|
"project": "cart",
|
||||||
|
"target": "deploy"
|
||||||
|
},
|
||||||
|
"projectRoot": "apps/cart",
|
||||||
|
"overrides": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"cart:deploy": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -48,7 +48,8 @@ function writeFile() {
|
|||||||
return {
|
return {
|
||||||
id,
|
id,
|
||||||
label: id,
|
label: id,
|
||||||
url: join('assets/project-graphs/', filename),
|
projectGraphUrl: join('assets/project-graphs/', filename),
|
||||||
|
taskGraphUrl: join('assets/task-graphs/', filename),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
} catch {
|
} catch {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user