diff --git a/package-lock.json b/package-lock.json index 209b4e27..a341355d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "powerbi-visuals-tools", - "version": "5.2.0-beta.1", + "version": "5.2.0-beta.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "powerbi-visuals-tools", - "version": "5.2.0-beta.1", + "version": "5.2.0-beta.2", "license": "MIT", "dependencies": { "@typescript-eslint/parser": "^5.62.0", diff --git a/package.json b/package.json index ed838af2..e4adaf2a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "powerbi-visuals-tools", - "version": "5.2.0-beta.1", + "version": "5.2.0-beta.2", "description": "Command line tool for creating and publishing visuals for Power BI", "main": "./bin/pbiviz.js", "type": "module", diff --git a/src/VisualManager.ts b/src/VisualManager.ts index f223e3b1..5ebb4366 100644 --- a/src/VisualManager.ts +++ b/src/VisualManager.ts @@ -281,7 +281,8 @@ export default class VisualManager { } let outputLog; switch(severity) { - case Severity.Error || Severity.Deprecation: + case Severity.Deprecation: + case Severity.Error: outputLog = ConsoleWriter.error; break; case Severity.Warning: diff --git a/src/features/AdvancedEditMode.ts b/src/features/AdvancedEditMode.ts index 9fb5c081..fef29aef 100644 --- a/src/features/AdvancedEditMode.ts +++ b/src/features/AdvancedEditMode.ts @@ -8,6 +8,7 @@ export default class AdvancedEditMode implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return !packageInstance.isCapabilityEnabled({ advancedEditMode: 0 }) // 0 - Advanced edit mode is disabled diff --git a/src/features/AllowInteractions.ts b/src/features/AllowInteractions.ts index 95ad0b7d..dd241649 100644 --- a/src/features/AllowInteractions.ts +++ b/src/features/AllowInteractions.ts @@ -8,6 +8,7 @@ export default class AllowInteractions implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain('.allowInteractions') diff --git a/src/features/AnalyticsPane.ts b/src/features/AnalyticsPane.ts index fb418075..b299c606 100644 --- a/src/features/AnalyticsPane.ts +++ b/src/features/AnalyticsPane.ts @@ -8,6 +8,7 @@ export default class AnalyticsPane implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return ( diff --git a/src/features/BaseFeature.ts b/src/features/BaseFeature.ts index c8f24337..392f4888 100644 --- a/src/features/BaseFeature.ts +++ b/src/features/BaseFeature.ts @@ -6,9 +6,7 @@ export default abstract class BaseFeature { public static visualFeatureType: VisualFeatureType public static featureName: string public static documentationLink: string - public static get errorMessage() { - return `${this.featureName} - ${this.documentationLink}` - } + public static errorMessage: string protected static isSupported() {} } diff --git a/src/features/Bookmarks.ts b/src/features/Bookmarks.ts index 3d1757d2..1c3908ab 100644 --- a/src/features/Bookmarks.ts +++ b/src/features/Bookmarks.ts @@ -8,6 +8,7 @@ export default class Bookmarks implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain("applySelectionFromFilter") || packageInstance.contain("registerOnSelectCallback") diff --git a/src/features/ColorPalette.ts b/src/features/ColorPalette.ts index 8c2fa076..87d19d95 100644 --- a/src/features/ColorPalette.ts +++ b/src/features/ColorPalette.ts @@ -8,6 +8,7 @@ export default class ColorPalette implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".colorPalette") diff --git a/src/features/ConditionalFormatting.ts b/src/features/ConditionalFormatting.ts index 3a18fa77..870971ed 100644 --- a/src/features/ConditionalFormatting.ts +++ b/src/features/ConditionalFormatting.ts @@ -8,6 +8,7 @@ export default class ConditionalFormatting implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".createDataViewWildcardSelector") diff --git a/src/features/ContextMenu.ts b/src/features/ContextMenu.ts index 30782de1..bcc51b0f 100644 --- a/src/features/ContextMenu.ts +++ b/src/features/ContextMenu.ts @@ -8,6 +8,7 @@ export default class ContextMenu implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".showContextMenu") diff --git a/src/features/DrillDown.ts b/src/features/DrillDown.ts index 70cbc875..9d4567c4 100644 --- a/src/features/DrillDown.ts +++ b/src/features/DrillDown.ts @@ -8,6 +8,7 @@ export default class DrillDown implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.isCapabilityEnabled({ diff --git a/src/features/ESLint.ts b/src/features/ESLint.ts index d454f718..e939a8f4 100644 --- a/src/features/ESLint.ts +++ b/src/features/ESLint.ts @@ -8,6 +8,7 @@ export default class ESLint implements BaseFeature { public static severity = Severity.Error public static stage = Stage.PreBuild public static visualFeatureType = VisualFeatureType.All + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(visual: Visual) { return visual.doesESLlintSupported() diff --git a/src/features/FetchMoreData.ts b/src/features/FetchMoreData.ts index 9e29c1cb..057f545d 100644 --- a/src/features/FetchMoreData.ts +++ b/src/features/FetchMoreData.ts @@ -8,6 +8,7 @@ export default class FetchMoreData implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.isCapabilityEnabled({ diff --git a/src/features/FileDownload.ts b/src/features/FileDownload.ts index b696afc1..fba31b06 100644 --- a/src/features/FileDownload.ts +++ b/src/features/FileDownload.ts @@ -8,6 +8,7 @@ export default class FileDownload implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".downloadService") && packageInstance.contain(".exportVisualsContent") diff --git a/src/features/FormatPane.ts b/src/features/FormatPane.ts index e1748417..fdbd72f5 100644 --- a/src/features/FormatPane.ts +++ b/src/features/FormatPane.ts @@ -8,6 +8,7 @@ export default class FormatPane implements BaseFeature { public static severity = Severity.Deprecation public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.All + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain("getFormattingModel") diff --git a/src/features/HighContrast.ts b/src/features/HighContrast.ts index 91a18793..5b16948d 100644 --- a/src/features/HighContrast.ts +++ b/src/features/HighContrast.ts @@ -8,6 +8,7 @@ export default class HighContrast implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".isHighContrast") diff --git a/src/features/HighlightData.ts b/src/features/HighlightData.ts index 6f84b99e..6a24c244 100644 --- a/src/features/HighlightData.ts +++ b/src/features/HighlightData.ts @@ -8,6 +8,7 @@ export default class HighlightData implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.isCapabilityEnabled({ supportsHighlight: true }) diff --git a/src/features/KeyboardNavigation.ts b/src/features/KeyboardNavigation.ts index 5e11a013..c337e5d8 100644 --- a/src/features/KeyboardNavigation.ts +++ b/src/features/KeyboardNavigation.ts @@ -8,6 +8,7 @@ export default class KeyboardNavigation implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.isCapabilityEnabled({ supportsKeyboardFocus: true }) diff --git a/src/features/LandingPage.ts b/src/features/LandingPage.ts index d23c0fac..e20691ba 100644 --- a/src/features/LandingPage.ts +++ b/src/features/LandingPage.ts @@ -8,6 +8,7 @@ export default class LandingPage implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.isCapabilityEnabled({ supportsLandingPage: true }) diff --git a/src/features/LaunchURL.ts b/src/features/LaunchURL.ts index 72c2d22a..1996d087 100644 --- a/src/features/LaunchURL.ts +++ b/src/features/LaunchURL.ts @@ -8,6 +8,7 @@ export default class LaunchURL implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".launchUrl") diff --git a/src/features/LocalStorage.ts b/src/features/LocalStorage.ts index 17b59950..5c88e4f2 100644 --- a/src/features/LocalStorage.ts +++ b/src/features/LocalStorage.ts @@ -8,6 +8,7 @@ export default class LocalStorage implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".storageService") diff --git a/src/features/Localizations.ts b/src/features/Localizations.ts index 446f0fb1..29b7df84 100644 --- a/src/features/Localizations.ts +++ b/src/features/Localizations.ts @@ -8,6 +8,7 @@ export default class Localizations implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".createLocalizationManager") diff --git a/src/features/ModalDialog.ts b/src/features/ModalDialog.ts index 9a027cee..4f065e2c 100644 --- a/src/features/ModalDialog.ts +++ b/src/features/ModalDialog.ts @@ -8,6 +8,7 @@ export default class ModalDialog implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".openModalDialog") diff --git a/src/features/RenderingEvents.ts b/src/features/RenderingEvents.ts index 09f511ea..12eb007f 100644 --- a/src/features/RenderingEvents.ts +++ b/src/features/RenderingEvents.ts @@ -8,6 +8,7 @@ export default class RenderingEvents implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.All + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { const keywords = [".eventService", ".renderingStarted", ".renderingFinished"] diff --git a/src/features/SelectionAcrossVisuals.ts b/src/features/SelectionAcrossVisuals.ts index 264c8df1..98f9ab0b 100644 --- a/src/features/SelectionAcrossVisuals.ts +++ b/src/features/SelectionAcrossVisuals.ts @@ -8,6 +8,7 @@ export default class SelectionAcrossVisuals implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.isCapabilityEnabled({ supportsMultiVisualSelection: true }) diff --git a/src/features/SyncSlicer.ts b/src/features/SyncSlicer.ts index 5d0ae321..3b0a9118 100644 --- a/src/features/SyncSlicer.ts +++ b/src/features/SyncSlicer.ts @@ -8,6 +8,7 @@ export default class SyncSlicer implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.isCapabilityEnabled({ supportsSynchronizingFilterState: true }) diff --git a/src/features/Tooltips.ts b/src/features/Tooltips.ts index 3166b996..7c99cd7c 100644 --- a/src/features/Tooltips.ts +++ b/src/features/Tooltips.ts @@ -8,6 +8,7 @@ export default class Tooltips implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain("tooltipService") && packageInstance.isCapabilityEnabled({tooltips: {}}) diff --git a/src/features/TotalSubTotal.ts b/src/features/TotalSubTotal.ts index d05f6dc7..f4585b7a 100644 --- a/src/features/TotalSubTotal.ts +++ b/src/features/TotalSubTotal.ts @@ -8,6 +8,7 @@ export default class TotalSubTotal implements BaseFeature { public static severity = Severity.Warning public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.Matrix | VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.isCapabilityEnabled({ subtotals: true }) diff --git a/src/features/WarningIcon.ts b/src/features/WarningIcon.ts index f019d204..6725fd0d 100644 --- a/src/features/WarningIcon.ts +++ b/src/features/WarningIcon.ts @@ -8,6 +8,7 @@ export default class WarningIcon implements BaseFeature { public static severity = Severity.Info public static stage = Stage.PostBuild public static visualFeatureType = VisualFeatureType.NonSlicer | VisualFeatureType.Slicer + public static errorMessage = `${this.featureName} - ${this.documentationLink}` static isSupported(packageInstance: Package) { return packageInstance.contain(".displayWarningIcon")