@omnia/wcm 6.10.24-preview → 6.10.27-preview

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -543,6 +543,10 @@ export declare module EditorLocalization {
543
543
  PageVariationConfirmationMessage: string;
544
544
  WarningMessage: string;
545
545
  };
546
+ MovePageCollection: {
547
+ Title: string;
548
+ SelectPublishingApp: string;
549
+ };
546
550
  DeleteLink: {
547
551
  Title: string;
548
552
  ConfirmationMessage: string;
@@ -254,7 +254,6 @@ export declare module PageRollupLocalization {
254
254
  ExportToExcel: string;
255
255
  OpenPageInNewTab: string;
256
256
  OpenInEditor: string;
257
- ExcludeVariationUrl: string;
258
257
  };
259
258
  ViewTitle: {
260
259
  List: string;
@@ -0,0 +1,4 @@
1
+ import { types } from 'typestyle';
2
+ export declare const MovePageCollectionDialogStyles: {
3
+ closeButton?: types.NestedCSSProperties;
4
+ };
@@ -0,0 +1 @@
1
+ export var MovePageCollectionDialogStyles = {};
@@ -3,6 +3,9 @@ import { Page, PageCalendarViewMode, PageDialogPropertiesMapping, PageItemNode,
3
3
  import { PublishingChannelId } from '../channels';
4
4
  import { PageId } from '../pages';
5
5
  import { VariationId } from '../variations';
6
+ export interface PageRollupViewSettingsRuntimeSettings {
7
+ navigateWithVariationTargeting: boolean;
8
+ }
6
9
  export interface PageRollupViewSettings {
7
10
  selectProperties: Array<string>;
8
11
  showContentAsDialog: boolean;
@@ -146,7 +149,6 @@ export interface PageRollupBlockBreakPointSettings {
146
149
  currentUserSubscription?: boolean;
147
150
  openPageInNewTab?: boolean;
148
151
  openInEditor?: boolean;
149
- excludeVariationUrl?: boolean;
150
152
  }
151
153
  export interface PageRollupBlockProperty {
152
154
  pickedPages?: Array<PageItemNode>;
@@ -214,7 +216,6 @@ export interface PageRollupBlockSettings {
214
216
  versionStatus: PageRollupEnums.VersionStatus;
215
217
  openPageInNewTab?: boolean;
216
218
  openInEditor?: boolean;
217
- excludeVariationUrl?: boolean;
218
219
  }
219
220
  export interface PageTypeSelection extends Page {
220
221
  title: string;
@@ -46,6 +46,7 @@ export * from "./ActivityFeed";
46
46
  export * from "./AccordionBlock";
47
47
  export * from "./AccordionBlockStyles";
48
48
  export * from './DeletedPageDialogStyles';
49
+ export * from './MovePageCollectionDialogStyles';
49
50
  export * from "./EnterpriseGlossaryPageInformationProviderStyles";
50
51
  export * from "./CommunityStyles";
51
52
  export * from "./TaxonomyNavigationStyles";
@@ -46,6 +46,7 @@ export * from "./ActivityFeed";
46
46
  export * from "./AccordionBlock";
47
47
  export * from "./AccordionBlockStyles";
48
48
  export * from './DeletedPageDialogStyles';
49
+ export * from './MovePageCollectionDialogStyles';
49
50
  export * from "./EnterpriseGlossaryPageInformationProviderStyles";
50
51
  export * from "./CommunityStyles";
51
52
  export * from "./TaxonomyNavigationStyles";
@@ -2,5 +2,5 @@ import { VariationId, QueryFilter } from '..';
2
2
  export interface VariationQuery {
3
3
  variationId?: VariationId;
4
4
  filter: QueryFilter;
5
- fallbackDefault: boolean;
5
+ fallbackDefault?: boolean;
6
6
  }
@@ -8,6 +8,7 @@ export declare class WcmRouter {
8
8
  private omniaCtx;
9
9
  private wcmContext;
10
10
  private publishingAppInfoStore;
11
+ private userTargetingStore;
11
12
  private isVariationSwitch;
12
13
  private currentNavigatedState;
13
14
  private loadTreeForPathPromises;
@@ -18,6 +19,8 @@ export declare class WcmRouter {
18
19
  private getDefaultRoute;
19
20
  private loadTreeForPath;
20
21
  navigate<T extends NavigationNode<NavigationData>>(to: T, targetVariationId?: any): Promise<T>;
22
+ navigateWithVariationTargeting<T extends NavigationNode<NavigationData>>(to: T): Promise<T>;
23
+ private getTargetingVariation;
21
24
  onDisposing(): void;
22
25
  private executeScrollingIfNeeded;
23
26
  private executeNewNavigationState;
@@ -40,6 +40,7 @@ export declare class NavigationService {
40
40
  **/
41
41
  updateNodeData: <T extends NavigationNode<NavigationData>>(node: T) => Promise<T>;
42
42
  move: <T extends NavigationNode<NavigationData>>(nodeToMove: T, newPosition: NavigationPosition) => Promise<MoveNavigationNodeResult>;
43
+ movePageCollection: (pageCollectionId: number, targetPublishingAppId: string) => Promise<MoveNavigationNodeResult>;
43
44
  getParentNodes: <T extends NavigationNode<NavigationData>>(nodeToGetParentsFor: T, nodeTypes?: NavigationDataType) => Promise<Array<NavigationNode<NavigationData>>>;
44
45
  getChildNodes: <T extends NavigationNode<NavigationData>>(nodeToGetParentsFor: T, nodeTypes?: NavigationDataType, depth?: number, forceFromPublishingAppId?: string) => Promise<Array<NavigationNode<NavigationData>>>;
45
46
  getMegamenuChildNodes: <T extends NavigationNode<NavigationData>>(nodeToGetParentsFor: T, nodeTypes?: NavigationDataType, depth?: number, forceFromPublishingAppId?: string) => Promise<Array<NavigationNode<NavigationData>>>;
@@ -49,6 +49,7 @@ export declare class NavigationStore extends Store {
49
49
  createNode: import("@omnia/fx/stores").StoreAction<unknown, (nodeData: NavigationData, position: NavigationPosition) => void, (result: NavigationNode<NavigationData>, nodeData: NavigationData, position: NavigationPosition) => void, (failureReason: any, nodeData: NavigationData, position: NavigationPosition) => void, <T_1 extends NavigationData>(nodeData: T_1, position: NavigationPosition) => Promise<NavigationNode<NavigationData>>>;
50
50
  moveNode: import("@omnia/fx/stores").StoreAction<unknown, (navigationNode: NavigationNode<NavigationData>, newPosition: NavigationPosition) => void, (result: void, navigationNode: NavigationNode<NavigationData>, newPosition: NavigationPosition) => void, (failureReason: any, navigationNode: NavigationNode<NavigationData>, newPosition: NavigationPosition) => void, (navigationNode: NavigationNode<NavigationData>, newPosition: NavigationPosition) => Promise<void>>;
51
51
  movePageNode: import("@omnia/fx/stores").StoreAction<unknown, (navigationNode: NavigationNode<NavigationData>, newPosition: NavigationPosition, moveResult: MoveNavigationNodeResult) => void, (result: void, navigationNode: NavigationNode<NavigationData>, newPosition: NavigationPosition, moveResult: MoveNavigationNodeResult) => void, (failureReason: any, navigationNode: NavigationNode<NavigationData>, newPosition: NavigationPosition, moveResult: MoveNavigationNodeResult) => void, (navigationNode: NavigationNode<NavigationData>, newPosition: NavigationPosition, moveResult: MoveNavigationNodeResult) => Promise<void>>;
52
+ movePageCollection: import("@omnia/fx/stores").StoreAction<unknown, (pageCollectionId: number, targetPublishingAppId: string) => void, (result: void, pageCollectionId: number, targetPublishingAppId: string) => void, (failureReason: any, pageCollectionId: number, targetPublishingAppId: string) => void, (pageCollectionId: number, targetPublishingAppId: string) => Promise<void>>;
52
53
  ensureNodesWithPageIds: import("@omnia/fx/stores").StoreAction<unknown, (...args: PageId[]) => void, (result: void, ...args: PageId[]) => void, (failureReason: any, ...args: PageId[]) => void, (...pageIds: Array<PageId>) => Promise<void>>;
53
54
  ensureChildren: import("@omnia/fx/stores").StoreAction<unknown, (node: NavigationNode<NavigationData>, depth?: number, forceFromPublishingAppId?: string) => void, (result: void, node: NavigationNode<NavigationData>, depth?: number, forceFromPublishingAppId?: string) => void, (failureReason: any, node: NavigationNode<NavigationData>, depth?: number, forceFromPublishingAppId?: string) => void, (node: NavigationNode<NavigationData>, depth?: number, forceFromPublishingAppId?: string) => Promise<void>>;
54
55
  ensureTreeForNode: import("@omnia/fx/stores").StoreAction<unknown, (node: NavigationNode<NavigationData>) => void, (result: NavigationResult, node: NavigationNode<NavigationData>) => void, (failureReason: any, node: NavigationNode<NavigationData>) => void, (node: NavigationNode<NavigationData>) => Promise<NavigationResult>>;
@@ -86,6 +86,7 @@ export declare class PageRollupStore extends Store {
86
86
  };
87
87
  actions: {
88
88
  navigate: import("@omnia/fx/stores").StoreAction<unknown, (node: PageNavigationNode<PageNavigationData>, pageId: number, pageUrl: string, openInNewTab?: boolean, openInEditor?: boolean) => void, (result: void, node: PageNavigationNode<PageNavigationData>, pageId: number, pageUrl: string, openInNewTab?: boolean, openInEditor?: boolean) => void, (failureReason: any, node: PageNavigationNode<PageNavigationData>, pageId: number, pageUrl: string, openInNewTab?: boolean, openInEditor?: boolean) => void, (node: PageNavigationNode<PageNavigationData>, pageId: number, pageUrl: string, openInNewTab?: boolean, openInEditor?: boolean) => Promise<void>>;
89
+ navigateWithVariationTargeting: import("@omnia/fx/stores").StoreAction<unknown, (node: PageNavigationNode<PageNavigationData>, pageId: number, pageUrl: string, openInNewTab?: boolean, openInEditor?: boolean) => void, (result: PageNavigationNode<PageNavigationData>, node: PageNavigationNode<PageNavigationData>, pageId: number, pageUrl: string, openInNewTab?: boolean, openInEditor?: boolean) => void, (failureReason: any, node: PageNavigationNode<PageNavigationData>, pageId: number, pageUrl: string, openInNewTab?: boolean, openInEditor?: boolean) => void, (node: PageNavigationNode<PageNavigationData>, pageId: number, pageUrl: string, openInNewTab?: boolean, openInEditor?: boolean) => Promise<PageNavigationNode<PageNavigationData>>>;
89
90
  loadPageContentData: import("@omnia/fx/stores").StoreAction<unknown, (pageIds: number[], selectProps: PageDialogPropertiesMapping, contentLimit: number, reloadData?: boolean) => void, (result: void, pageIds: number[], selectProps: PageDialogPropertiesMapping, contentLimit: number, reloadData?: boolean) => void, (failureReason: any, pageIds: number[], selectProps: PageDialogPropertiesMapping, contentLimit: number, reloadData?: boolean) => void, (pageIds: number[], selectProps: PageDialogPropertiesMapping, contentLimit: number, reloadData?: boolean) => Promise<void>>;
90
91
  ensureLoadPageTypes: import("@omnia/fx/stores").StoreAction<unknown, (publishingAppIds: string[]) => void, (result: void, publishingAppIds: string[]) => void, (failureReason: any, publishingAppIds: string[]) => void, (publishingAppIds: string[]) => Promise<void>>;
91
92
  exportToExcel: import("@omnia/fx/stores").StoreAction<unknown, (query: BatchQueryPages) => void, (result: void, query: BatchQueryPages) => void, (failureReason: any, query: BatchQueryPages) => void, (query: BatchQueryPages) => Promise<void>>;
@@ -65,7 +65,9 @@ declare class InternalPageRollupStoreHelper {
65
65
  ids: VariationId[];
66
66
  queries: VariationQuery[];
67
67
  }>;
68
- populateTargetingVariationIds(variationQueries: VariationQuery[], settings: PageRollupBlockSettings, pageCollectionSelections: Array<PageCollectionSelection>): any[];
68
+ populateTargetingVariationIds(variationQueriesDict: {
69
+ [key: number]: VariationQuery;
70
+ }, settings: PageRollupBlockSettings, pageCollectionSelections: Array<PageCollectionSelection>): any[];
69
71
  buildQuery(serviceContainerContext: ServiceContainerContext, settings: PageRollupBlockSettings, instance: IBlockInstance<PageRollupBlockSettings>, uiQueryFilters: QueryFilter[]): Promise<PageQuery>;
70
72
  getPagesDetails(pageIds: number[], selectProps: PageDialogPropertiesMapping, contentLimit?: number, reloadData?: boolean): Promise<PageDialogData>;
71
73
  generateBatchQuery(blockInstance: BlockPageRollupInstanceExtends, settings: PageRollupBlockSettings, uiQueryFilters: QueryFilter[], orderBy?: Array<QueryOrder>, blockProperty?: ReactivePageBlockProperty<PageRollupBlockProperty>): Promise<BatchQueryPages>;
@@ -1 +1 @@
1
- {"name":"omniaWebpackJsonp['d60fa82a-129a-41a9-93ce-d784dcb217b0']['73f0116c-212c-4912-b780-d8df4ea3d78b']","content":{"./node_modules/@omnia/wcm/models/index.js":{"id":"0044f6fa-6f28-4130-9b07-649c0ab06fca","buildMeta":{"exportsType":"namespace"},"exports":["AccordionBlockStyles","ActionButtonLinkHandlerTargets","ActionButtonType","ActivityActionTypes","ActivityFeedScopes","ActivityType","ApprovalType","AutomaticPageCreationStatusType","BannerBlockStyles","BannerElementName","BannerLayout","BreadcrumbBlockStyles","BuildInContentBlockTextStyleFormatting","ButtonGroupings","CalendarRollupBlockListViewSettingsStyles","CalendarRollupBlockSettingsStyles","CalendarRollupBlockStyles","CalendarRollupEnums","CalendarType","CardTypes","ChannelCardViewStyles","ChildStructureType","ColleagueDialogContentStyles","CommentSorting","CommunityAppLayoutDefinition","CommunityPageActivityStyles","CommunityStyles","Constants","ContentBlockModes","ContentBlockStyles","CurrentNavigationBlockSettingsStyles","CurrentNavigationBlockStyles","CurrentNavigationStatus","CurrentPageStatus","DailyRecurrenceTypeEnums","DeletedPageDialogStyles","DigitalSignageConstants","DigitalSignageManifests","DigitalSigningEntityType","DigitalSigningResultType","Directions","DocumentTypes","DynamicRollerSizes","DynamicRollerTypes","EnterpriseGlossaryPageInformationProviderStyles","EnterprisePropertiesBlockDateTimeModes","EnterprisePropertiesRichTextSettings","EnterprisePropertyDataTypeProvider","EnterprisePropertyDocumentProviderProperty","EventAttedeeType","EventCloneDialogContentStyles","EventParticipantCounterBlockStyles","EventParticipantListEnums","EventParticipantListStyles","EventParticipantListViewStyles","HtmlScriptBlockStyle","InfoScreenConstants","InfoScreenManifests","InfoScreenViewIdConstants","ItemQueryEnums","LabelPositions","LinkPickerStyle","MediaBlockStyles","MediaPickerStorageProviderPageContext","MediaPickerStorageProviderPageCreationContext","MediaPickerStorageProviderPageReadContext","MediaPickerStorageProviderWCMChannelAdminContext","MegaMenuStyles","MobileNavigationNodeStyles","MobileNavigationStyles","MonthlyRecurrenceTypeEnums","NavigationDataType","NavigationNodeQuery","NavigationNodeStyles","NavigationNodeType","NavigationRenders","NodeId","OutlookCalendarType","PageBuiltInColumnConstants","PageCalendarViewMode","PageCollectionTopic","PageDataType","PageFeedbackBlockStyles","PageFeedbackDialogStyles","PageFeedbacksStyles","PageFile","PageId","PageItemTemplateStyles","PagePickerNodeStyles","PagePickerProviderStyles","PagePropertiesBlockAdvancedStyles","PagePropertiesBlockStyles","PageRollUpDialogViewStyles","PageRollupBlockCalendarViewSettingsStyles","PageRollupBlockCalendarViewStyles","PageRollupBlockCardViewSettingsStyles","PageRollupBlockListViewSettingsStyles","PageRollupBlockListViewViewStyles","PageRollupBlockListingWithImageViewViewStyles","PageRollupBlockRollerViewViewStyles","PageRollupBlockSettingsFilterTabStyles","PageRollupBlockSettingsGeneralTabStyles","PageRollupBlockStyles","PageRollupConstants","PageRollupEnums","PageRollupListViewSettingsStyles","PageRollupListViewStyles","PageRollupListingPickedPagesStyles","PageRollupNavigationViewStyles","PageRollupNewsletterViewStyles","PageRollupPickedPagesDialogStyles","PageTopic","PagesDashboardSettingsStyles","PagingTypes","Parameters","ParticipantType","PendingFileStatus","PublishingAppArchiveSettingsRouteProperty","PublishingAppBootRouteProperty","PublishingAppLayoutDefinition","PublishingAppReuseContentSettingsRouteProperty","PublishingAppTopic","PublishingChannelId","PublishingChannelTopic","PublishingStatus","RecurrenceTypeEnums","RelatedLinkAddHeadingDialogStyles","RelatedLinkBlockStyles","RelatedLinkEditFormStyles","RelatedLinkElementName","ResourceEvaluators","ReusablePageStatusType","ReuseContentMode","RoleDefinitions","RootService","RssReaderBlockLeftImageViewStyles","RssReaderBlockNoImageViewStyles","RssReaderBlockStyles","RuleStatus","RuleTypes","ScheduleEndTypeEnums","SearchTemplateOmniaPageStyles","SelectedPageItemStyles","SharepointPageTemplateStyles","SignOffRequestBlockStyles","SignOffRequestConstants","TagTopic","TaxonomyNavigationStyles","TaxonomyTopic","TopicInformationType","TopicType","UserTopic","VariationId","VariationInputStyles","VariationsRouteProperty","VersionId","VersionType","VersionUpdationMode","VideoType","WCMEnterpriseProperties","WCMFxLocalization","WCMNavigationDataTypes","WCMPageIdCustomPropertyName","WCMPageTypes","WCMReaderContext","WcmExtension","WcmGroupManifests","WcmLayoutProvider","WcmPropertyDefaultBooleanValues","WcmPropertyDefaultValues","WcmResourceManifests","WcmService","WcmWebComponentManifests","WeekOfMonthEnums","WorkplaceService","YammerProperties","layoutItemAction"]}}}
1
+ {"name":"omniaWebpackJsonp['d60fa82a-129a-41a9-93ce-d784dcb217b0']['73f0116c-212c-4912-b780-d8df4ea3d78b']","content":{"./node_modules/@omnia/wcm/models/index.js":{"id":"0044f6fa-6f28-4130-9b07-649c0ab06fca","buildMeta":{"exportsType":"namespace"},"exports":["AccordionBlockStyles","ActionButtonLinkHandlerTargets","ActionButtonType","ActivityActionTypes","ActivityFeedScopes","ActivityType","ApprovalType","AutomaticPageCreationStatusType","BannerBlockStyles","BannerElementName","BannerLayout","BreadcrumbBlockStyles","BuildInContentBlockTextStyleFormatting","ButtonGroupings","CalendarRollupBlockListViewSettingsStyles","CalendarRollupBlockSettingsStyles","CalendarRollupBlockStyles","CalendarRollupEnums","CalendarType","CardTypes","ChannelCardViewStyles","ChildStructureType","ColleagueDialogContentStyles","CommentSorting","CommunityAppLayoutDefinition","CommunityPageActivityStyles","CommunityStyles","Constants","ContentBlockModes","ContentBlockStyles","CurrentNavigationBlockSettingsStyles","CurrentNavigationBlockStyles","CurrentNavigationStatus","CurrentPageStatus","DailyRecurrenceTypeEnums","DeletedPageDialogStyles","DigitalSignageConstants","DigitalSignageManifests","DigitalSigningEntityType","DigitalSigningResultType","Directions","DocumentTypes","DynamicRollerSizes","DynamicRollerTypes","EnterpriseGlossaryPageInformationProviderStyles","EnterprisePropertiesBlockDateTimeModes","EnterprisePropertiesRichTextSettings","EnterprisePropertyDataTypeProvider","EnterprisePropertyDocumentProviderProperty","EventAttedeeType","EventCloneDialogContentStyles","EventParticipantCounterBlockStyles","EventParticipantListEnums","EventParticipantListStyles","EventParticipantListViewStyles","HtmlScriptBlockStyle","InfoScreenConstants","InfoScreenManifests","InfoScreenViewIdConstants","ItemQueryEnums","LabelPositions","LinkPickerStyle","MediaBlockStyles","MediaPickerStorageProviderPageContext","MediaPickerStorageProviderPageCreationContext","MediaPickerStorageProviderPageReadContext","MediaPickerStorageProviderWCMChannelAdminContext","MegaMenuStyles","MobileNavigationNodeStyles","MobileNavigationStyles","MonthlyRecurrenceTypeEnums","MovePageCollectionDialogStyles","NavigationDataType","NavigationNodeQuery","NavigationNodeStyles","NavigationNodeType","NavigationRenders","NodeId","OutlookCalendarType","PageBuiltInColumnConstants","PageCalendarViewMode","PageCollectionTopic","PageDataType","PageFeedbackBlockStyles","PageFeedbackDialogStyles","PageFeedbacksStyles","PageFile","PageId","PageItemTemplateStyles","PagePickerNodeStyles","PagePickerProviderStyles","PagePropertiesBlockAdvancedStyles","PagePropertiesBlockStyles","PageRollUpDialogViewStyles","PageRollupBlockCalendarViewSettingsStyles","PageRollupBlockCalendarViewStyles","PageRollupBlockCardViewSettingsStyles","PageRollupBlockListViewSettingsStyles","PageRollupBlockListViewViewStyles","PageRollupBlockListingWithImageViewViewStyles","PageRollupBlockRollerViewViewStyles","PageRollupBlockSettingsFilterTabStyles","PageRollupBlockSettingsGeneralTabStyles","PageRollupBlockStyles","PageRollupConstants","PageRollupEnums","PageRollupListViewSettingsStyles","PageRollupListViewStyles","PageRollupListingPickedPagesStyles","PageRollupNavigationViewStyles","PageRollupNewsletterViewStyles","PageRollupPickedPagesDialogStyles","PageTopic","PagesDashboardSettingsStyles","PagingTypes","Parameters","ParticipantType","PendingFileStatus","PublishingAppArchiveSettingsRouteProperty","PublishingAppBootRouteProperty","PublishingAppLayoutDefinition","PublishingAppReuseContentSettingsRouteProperty","PublishingAppTopic","PublishingChannelId","PublishingChannelTopic","PublishingStatus","RecurrenceTypeEnums","RelatedLinkAddHeadingDialogStyles","RelatedLinkBlockStyles","RelatedLinkEditFormStyles","RelatedLinkElementName","ResourceEvaluators","ReusablePageStatusType","ReuseContentMode","RoleDefinitions","RootService","RssReaderBlockLeftImageViewStyles","RssReaderBlockNoImageViewStyles","RssReaderBlockStyles","RuleStatus","RuleTypes","ScheduleEndTypeEnums","SearchTemplateOmniaPageStyles","SelectedPageItemStyles","SharepointPageTemplateStyles","SignOffRequestBlockStyles","SignOffRequestConstants","TagTopic","TaxonomyNavigationStyles","TaxonomyTopic","TopicInformationType","TopicType","UserTopic","VariationId","VariationInputStyles","VariationsRouteProperty","VersionId","VersionType","VersionUpdationMode","VideoType","WCMEnterpriseProperties","WCMFxLocalization","WCMNavigationDataTypes","WCMPageIdCustomPropertyName","WCMPageTypes","WCMReaderContext","WcmExtension","WcmGroupManifests","WcmLayoutProvider","WcmPropertyDefaultBooleanValues","WcmPropertyDefaultValues","WcmResourceManifests","WcmService","WcmWebComponentManifests","WeekOfMonthEnums","WorkplaceService","YammerProperties","layoutItemAction"]}}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@omnia/wcm",
3
3
  "license": "MIT",
4
- "version": "6.10.24-preview",
4
+ "version": "6.10.27-preview",
5
5
  "description": "Omnia Web Content Management.",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1"