Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions .eslintignore

This file was deleted.

20 changes: 0 additions & 20 deletions .eslintrc.js

This file was deleted.

17 changes: 16 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
## 7.0.0

### Breaking
* `getLocalizedProperty<T>(...)` now returns `string | undefined` instead of `string`; callers should handle the `undefined` case.
* `NamedEntity` now includes an index signature `[property: string]: unknown` to support strict-mode property access; dynamic index access in subclasses now yields `unknown` instead of `any`.

### Changed
* Updated `powerbi-visuals-api` to `^5.11.0`.
* Enabled full TypeScript strict checks (`strictNullChecks`, `strictPropertyInitialization`, `noImplicitAny`) and fixed related type issues.
* Preserved formatting pane behavior for SimpleCard top-level toggle placement during strict-mode refactoring.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add an explicit ### Breaking section for the public API changes

This release contains at least two signature-level breaking changes that consumers of this package will hit when they upgrade. They are the primary justification for the 7.0.0 bump and should be called out explicitly so downstream visuals know to expect TS errors:

  1. getLocalizedProperty<T>(...) in src/utils/FormattingSettingsUtils.ts now returns string | undefined instead of string. Any code that does const name: string = getLocalizedProperty(...) will fail to compile.
  2. NamedEntity now declares [property: string]: unknown. Index access (entity["someKey"]) now returns unknown rather than any, which propagates to every subclass and may require explicit casts in consumer code.

Suggested addition near the top of the 7.0.0 entry:

### Breaking
* `getLocalizedProperty` now returns `string | undefined` instead of `string`; callers must handle the `undefined` case.
* `NamedEntity` now has an index signature `[property: string]: unknown` to support strict-mode property access; index access into any subclass now yields `unknown` instead of `any`.


### Infrastructure
* Migrated ESLint config to flat-config ESM `eslint.config.mjs`.
* Removed legacy `.eslintrc.js` and `.eslintignore` in favor of flat-config equivalents.
* Updated the lint stack to ESLint 10 with TypeScript ESLint 8.
* Pinned `typescript` as a direct devDependency and updated TypeScript config for TS6 compatibility.

## 6.2.2
* Added missing `disabled` property to `FontPicker`
Expand All @@ -12,7 +28,6 @@
* Bug with delaySaveSlices was fixed for *Container*s
* Localization support for `AutoDropdown` and `ItemFlagsSelection`


## 6.1.0
* `ItemDropdown` now supports new interface `ILocalizedItemMember` for localization of dropdown items.
* `ItemDropdown` got new method `setValue(value: powerbi.EnumMemberValue, localizationManager?: powerbi.extensibility.ILocalizationManager)` to set value by unique enum member value.
Expand Down
20 changes: 20 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import powerbiVisuals from "eslint-plugin-powerbi-visuals";

export default [
{
ignores: [
"node_modules/**",
"lib/**",
],
Comment thread
Demonkratiy marked this conversation as resolved.
},
{
...powerbiVisuals.configs.recommended,
languageOptions: {
...powerbiVisuals.configs.recommended.languageOptions,
parserOptions: {
project: "tsconfig.json",
tsconfigRootDir: import.meta.dirname,
},
},
},
];
Loading
Loading