Skip to content
Merged
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
5 changes: 0 additions & 5 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,6 @@
enabled: false,
},
},
{
// blocked by oxlint issue: https://github.com/oxc-project/oxc/issues/19395 and https://github.com/oxc-project/oxc/issues/19431
packageNames: ['oxlint'],
allowedVersions: '1.43.0',
},
// i18next major version - let's wait until our next major
{
packageNames: ['i18next'],
Expand Down
28 changes: 13 additions & 15 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["import", "oxc", "typescript", "vitest"],
"plugins": ["import", "oxc", "typescript"],
"jsPlugins": ["eslint-plugin-cypress"],
"extends": ["recommended", "recommended-module"],
"env": {
"es2025": true,
"browser": true,
Expand All @@ -23,8 +22,11 @@
"plugins": ["vitest"],
"rules": {
"vitest/expect-expect": "error",
"vitest/no-conditional-expect": "off",
"vitest/no-disabled-tests": "warn",
"vitest/no-focused-tests": "error"
"vitest/no-focused-tests": "error",
"vitest/require-mock-type-parameters": "off",
"vitest/valid-expect": "error"
}
},
{
Expand All @@ -34,7 +36,10 @@
"oxc/erasing-op": "off",
"cypress/no-debug": "error",
"import/extensions": "off",
"vitest/*": "off"
"vitest/expect-expect": "off",
"vitest/no-disabled-tests": "off",
"vitest/no-focused-tests": "off",
"vitest/valid-expect": "off"
}
},
{
Expand All @@ -49,25 +54,18 @@
"typescript/consistent-type-definitions": "error",
"typescript/consistent-type-exports": "error",
"typescript/consistent-type-imports": "error",
"typescript/member-ordering": "error",
"typescript/no-empty-function": "off",
"typescript/no-empty-object-type": ["error", { "allowInterfaces": "with-single-extends" }],
"typescript/no-explicit-any": "off",
"typescript/no-inferrable-types": "error",
"typescript/no-unsafe-function-type": "off",
"typescript/no-non-null-assertion": "off",
"typescript/no-unused-expressions": "off",
"typescript/no-unused-vars": [
"error",
{
"argsIgnorePattern": "^_",
"destructuredArrayIgnorePattern": "^_",
"caughtErrors": "none"
}
],
"import/extensions": ["error", "always", { "ignorePackages": true }],
"typescript/no-unused-vars": ["error", { "argsIgnorePattern": "^_", "destructuredArrayIgnorePattern": "^_", "caughtErrors": "none" }],
// blocked by https://github.com/oxc-project/oxc/issues/19431
// use "lint:local-js-imports" npm script in the meantime to catch any missing local JS imports
"import/extensions": "off",
"import/no-self-import": "error",
"import/no-useless-path-segments": ["error", { "noUselessIndex": true }],
"no-async-promise-executor": "off",
"oxc/erasing-op": "off",
"object-shorthand": "error"
Expand Down
2 changes: 1 addition & 1 deletion demos/aurelia/test/cypress/e2e/example28.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ describe('Example 28 - Tree Data (from a Hierarchical Dataset)', () => {
});
});

it('should filter the Files by the input search string and expect 4 rows and 1st column to have ', () => {
it('should filter the Files by the input search string and expect 4 rows and 1st column to have', () => {
const filteredFiles = ['documents', 'pdf', 'map2.pdf', 'map.pdf'];

cy.get('[data-test=search-string]').type('map');
Expand Down
2 changes: 1 addition & 1 deletion demos/aurelia/test/cypress/e2e/example53.cy.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
describe('Example 53 - Custom Filter Bar ', () => {
describe('Example 53 - Custom Filter Bar', () => {
const titles = ['Item', 'Cost', 'State Tax', 'County Tax', 'Federal Tax', 'Sub-Total', 'Total', 'Type'];

it('should display Example title', () => {
Expand Down
2 changes: 1 addition & 1 deletion demos/react/test/cypress/e2e/example28.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ describe('Example 28 - Tree Data (from a Hierarchical Dataset)', () => {
});
});

it('should filter the Files by the input search string and expect 4 rows and 1st column to have ', () => {
it('should filter the Files by the input search string and expect 4 rows and 1st column to have', () => {
const filteredFiles = ['documents', 'pdf', 'map2.pdf', 'map.pdf'];

cy.get('[data-test=search-string]').type('map');
Expand Down
2 changes: 1 addition & 1 deletion demos/react/test/cypress/e2e/example53.cy.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
describe('Example 53 - Custom Filter Bar ', () => {
describe('Example 53 - Custom Filter Bar', () => {
const titles = ['Item', 'Cost', 'State Tax', 'County Tax', 'Federal Tax', 'Sub-Total', 'Total', 'Type'];

it('should display Example title', () => {
Expand Down
2 changes: 1 addition & 1 deletion demos/vue/src/components/Example26.vue
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ const vueComponentFormatter: Formatter = (_row: number, _cell: number, _val: any
function setAutoEdit(autoEdit: boolean) {
isAutoEdit.value = autoEdit;
vueGrid.slickGrid.setOptions({
autoEdit: autoEdit,
autoEdit,
});
return true;
}
Expand Down
2 changes: 1 addition & 1 deletion demos/vue/test/cypress/e2e/example28.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ describe('Example 28 - Tree Data (from a Hierarchical Dataset)', () => {
});
});

it('should filter the Files by the input search string and expect 4 rows and 1st column to have ', () => {
it('should filter the Files by the input search string and expect 4 rows and 1st column to have', () => {
const filteredFiles = ['documents', 'pdf', 'map2.pdf', 'map.pdf'];

cy.get('[data-test=search-string]').type('map');
Expand Down
2 changes: 1 addition & 1 deletion demos/vue/test/cypress/e2e/example53.cy.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
describe('Example 53 - Custom Filter Bar ', () => {
describe('Example 53 - Custom Filter Bar', () => {
const titles = ['Item', 'Cost', 'State Tax', 'County Tax', 'Federal Tax', 'Sub-Total', 'Total', 'Type'];

it('should display Example title', () => {
Expand Down
21 changes: 1 addition & 20 deletions frameworks-plugins/angular-row-detail-plugin/.oxlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,25 +37,6 @@
}
],
"typescript/consistent-type-imports": "off",
"import/extensions": [
"off",
"ignorePackages",
{
"js": "never",
"ts": "never"
}
],
"naming-convention": [
"error",
{
"selector": "directive",
"format": ["camelCase"],
"prefix": ["app"]
},
{
"selector": "component",
"format": ["kebab-case"]
}
]
"import/extensions": "off"
}
}
21 changes: 1 addition & 20 deletions frameworks/angular-slickgrid/.oxlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,25 +38,6 @@
}
],
"typescript/consistent-type-imports": "off",
"import/extensions": [
"off",
"ignorePackages",
{
"js": "never",
"ts": "never"
}
],
"naming-convention": [
"error",
{
"selector": "directive",
"format": ["camelCase"],
"prefix": ["app"]
},
{
"selector": "component",
"format": ["kebab-case"]
}
]
"import/extensions": "off"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ describe('Example 28 - Tree Data (from a Hierarchical Dataset)', () => {
});
});

it('should filter the Files by the input search string and expect 4 rows and 1st column to have ', () => {
it('should filter the Files by the input search string and expect 4 rows and 1st column to have', () => {
const filteredFiles = ['documents', 'pdf', 'map2.pdf', 'map.pdf'];

cy.get('[data-test=search-string]').type('map');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
describe('Example 53 - Custom Filter Bar ', () => {
describe('Example 53 - Custom Filter Bar', () => {
const titles = ['Item', 'Cost', 'State Tax', 'County Tax', 'Federal Tax', 'Sub-Total', 'Total', 'Type'];

it('should display Example title', () => {
Expand Down
24 changes: 12 additions & 12 deletions frameworks/slickgrid-vue/src/components/SlickgridVue.vue
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ function initialization() {
_gridOptions.value.groupItemMetadataOption as GroupItemMetadataProviderOption | undefined
);
sharedService.groupItemMetadataProvider = groupItemMetadataProvider;
dataViewOptions = { ...dataViewOptions, groupItemMetadataProvider: groupItemMetadataProvider };
dataViewOptions = { ...dataViewOptions, groupItemMetadataProvider };
}
dataview = new SlickDataView<any>(dataViewOptions, eventPubSubService);
eventPubSubService.publish('onDataviewCreated', dataview);
Expand Down Expand Up @@ -590,18 +590,18 @@ function initialization() {

// return all available Services (non-singleton)
backendService: backendService.value,
eventPubSubService: eventPubSubService,
filterService: filterService,
gridEventService: gridEventService,
gridStateService: gridStateService,
gridService: gridService,
headerGroupingService: headerGroupingService,
extensionService: extensionService,
eventPubSubService,
filterService,
gridEventService,
gridStateService,
gridService,
headerGroupingService,
extensionService,
paginationComponent: slickPagination,
paginationService: paginationService,
resizerService: resizerService,
sortService: sortService,
treeDataService: treeDataService,
paginationService,
resizerService,
sortService,
treeDataService,
};

// addons (SlickGrid extra plugins/controls)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -518,7 +518,7 @@ describe('CheckboxEditor', () => {
target: 'composite',
compositeEditorOptions: editorArguments.compositeEditorOptions,
});
expect(onCompositeEditorSpy).not.toHaveBeenCalled;
expect(onCompositeEditorSpy).not.toHaveBeenCalled();
expect(disableSpy).toHaveBeenCalledWith(true);
expect(editor.editorDomElement.disabled).toEqual(true);
expect(editor.editorDomElement.checked).toEqual(false);
Expand Down
2 changes: 1 addition & 1 deletion packages/common/src/editors/__tests__/floatEditor.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -739,7 +739,7 @@ describe('FloatEditor', () => {
target: 'composite',
compositeEditorOptions: editorArguments.compositeEditorOptions,
});
expect(onCompositeEditorSpy).not.toHaveBeenCalled;
expect(onCompositeEditorSpy).not.toHaveBeenCalled();
expect(disableSpy).toHaveBeenCalledWith(true);
expect(editor.editorDomElement.disabled).toEqual(true);
expect(editor.editorDomElement.value).toEqual('');
Expand Down
2 changes: 1 addition & 1 deletion packages/common/src/editors/__tests__/inputEditor.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -672,7 +672,7 @@ describe('InputEditor (TextEditor)', () => {
target: 'composite',
compositeEditorOptions: editorArguments.compositeEditorOptions,
});
expect(onCompositeEditorSpy).not.toHaveBeenCalled;
expect(onCompositeEditorSpy).not.toHaveBeenCalled();
expect(disableSpy).toHaveBeenCalledWith(true);
expect(editor.editorDomElement.disabled).toEqual(true);
expect(editor.editorDomElement.value).toEqual('');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -635,7 +635,7 @@ describe('InputPasswordEditor', () => {
target: 'composite',
compositeEditorOptions: editorArguments.compositeEditorOptions,
});
expect(onCompositeEditorSpy).not.toHaveBeenCalled;
expect(onCompositeEditorSpy).not.toHaveBeenCalled();
expect(disableSpy).toHaveBeenCalledWith(true);
expect(editor.editorDomElement.disabled).toEqual(true);
expect(editor.editorDomElement.value).toEqual('');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1023,7 +1023,7 @@ describe('LongTextEditor', () => {
target: 'composite',
compositeEditorOptions: editorArguments.compositeEditorOptions,
});
expect(onCompositeEditorSpy).not.toHaveBeenCalled;
expect(onCompositeEditorSpy).not.toHaveBeenCalled();
expect(disableSpy).toHaveBeenCalledWith(true);
expect(editor.editorDomElement.disabled).toEqual(true);
expect(editor.editorDomElement.value).toEqual('');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -372,8 +372,8 @@ describe('CellMenu Plugin', () => {
const cellMenuElm = document.body.querySelector('.slick-cell-menu.slickgrid12345') as HTMLDivElement;
const commandListElm = cellMenuElm.querySelector('.slick-menu-command-list') as HTMLDivElement;

expect(cellMenuElm.classList.contains('dropdown'));
expect(cellMenuElm.classList.contains('dropright'));
expect(cellMenuElm.classList.contains('dropdown')).toBeTruthy();
expect(cellMenuElm.classList.contains('dropleft')).toBeTruthy();
expect(commandListElm.querySelectorAll('.slick-menu-item').length).toBe(7);
expect(document.body.querySelector('button.close')!.ariaLabel).toBe('Close'); // JSDOM doesn't support ariaLabel, but we can test attribute this way
expect(removeExtraSpaces(document.body.innerHTML)).toBe(
Expand Down Expand Up @@ -731,7 +731,7 @@ describe('CellMenu Plugin', () => {
expect(commandChevronElm.className).toBe('sub-item-chevron mdi mdi-chevron-right');
expect(subCommand3Elm.textContent).toContain('Command 3');
expect(subCommand5Elm.textContent).toContain('Command 5');
expect(cellMenu1Elm.classList.contains('dropleft'));
expect(cellMenu1Elm.classList.contains('dropleft')).toBeTruthy();

// return Cell Menu menu/sub-menu if it's already opened unless we are on different sub-menu tree if so close them all
subCommands1Elm!.dispatchEvent(new Event('click'));
Expand Down Expand Up @@ -782,7 +782,7 @@ describe('CellMenu Plugin', () => {
expect(commandChevronElm.className).toBe('sub-item-chevron mdi mdi-chevron-right');
expect(subCommand3Elm.textContent).toContain('Command 3');
expect(subCommand5Elm.textContent).toContain('Command 5');
expect(cellMenu1Elm.classList.contains('dropright'));
expect(cellMenu1Elm.classList.contains('dropright')).toBeTruthy();

// return menu/sub-menu if it's already opened unless we are on different sub-menu tree if so close them all
subCommands1Elm!.dispatchEvent(new Event('click'));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -383,8 +383,8 @@ describe('ContextMenu Plugin', () => {
const contextMenuElm = document.body.querySelector('.slick-context-menu.slickgrid12345') as HTMLDivElement;
const commandListElm = contextMenuElm.querySelector('.slick-menu-command-list') as HTMLDivElement;

expect(contextMenuElm.classList.contains('dropdown'));
expect(contextMenuElm.classList.contains('dropright'));
expect(contextMenuElm.classList.contains('dropdown')).toBeTruthy();
expect(contextMenuElm.classList.contains('dropright')).toBeTruthy();
expect(commandListElm.querySelectorAll('.slick-menu-item').length).toBe(6);
expect(document.body.querySelector('button.close')!.ariaLabel).toBe('Close'); // JSDOM doesn't support ariaLabel, but we can test attribute this way
expect(removeExtraSpaces(document.body.innerHTML)).toBe(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1372,7 +1372,7 @@ describe('GridMenuControl', () => {
expect(commandChevronElm.className).toBe('sub-item-chevron mdi mdi-chevron-right');
expect(subCommand3Elm.textContent).toContain('Command 3');
expect(subCommand5Elm.textContent).toContain('Command 5');
expect(gridMenu1Elm.classList.contains('dropleft'));
expect(gridMenu1Elm.classList.contains('dropleft')).toBeTruthy();
expect(gridMenu2Elm.classList.contains('dropup')).toBeFalsy();
expect(gridMenu2Elm.classList.contains('dropdown')).toBeTruthy();

Expand Down Expand Up @@ -1428,7 +1428,7 @@ describe('GridMenuControl', () => {
expect(commandChevronElm.className).toBe('sub-item-chevron mdi mdi-chevron-right');
expect(subCommand3Elm.textContent).toContain('Command 3');
expect(subCommand5Elm.textContent).toContain('Command 5');
expect(gridMenu1Elm.classList.contains('dropright'));
expect(gridMenu1Elm.classList.contains('dropright')).toBeTruthy();
expect(gridMenu2Elm.classList.contains('dropup')).toBeFalsy();
expect(gridMenu2Elm.classList.contains('dropdown')).toBeTruthy();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ describe('HeaderButton Plugin', () => {
);
});

it('should trigger click and onCommand when pressing Enter key on a header button ', () => {
it('should trigger click and onCommand when pressing Enter key on a header button', () => {
const headerDiv = document.createElement('div');
headerDiv.className = 'slick-header-column';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -807,7 +807,7 @@ describe('HeaderMenu Plugin', () => {
expect(commandChevronElm.className).toBe('sub-item-chevron');
expect(subCommand3Elm.textContent).toContain('Command 3');
expect(subCommand5Elm.textContent).toContain('Command 5');
expect(headerMenu1Elm.classList.contains('dropleft'));
expect(headerMenu1Elm.classList.contains('dropright')).toBeTruthy();
expect(headerMenu2Elm.classList.contains('dropup')).toBeFalsy();
expect(headerMenu2Elm.classList.contains('dropdown')).toBeTruthy();

Expand Down Expand Up @@ -872,7 +872,7 @@ describe('HeaderMenu Plugin', () => {
expect(commandChevronElm.className).toBe('sub-item-chevron mdi mdi-chevron-right');
expect(subCommand3Elm.textContent).toContain('Command 3');
expect(subCommand5Elm.textContent).toContain('Command 5');
expect(headerMenu1Elm.classList.contains('dropright'));
expect(headerMenu1Elm.classList.contains('dropright')).toBeTruthy();
expect(headerMenu2Elm.classList.contains('dropup')).toBeFalsy();
expect(headerMenu2Elm.classList.contains('dropdown')).toBeTruthy();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,14 +170,14 @@ describe('Row Selection Model Plugin', () => {
expect(plugin.getOptions().selectActiveCell).toBe(false);
});

it('should create the plugin and set selection type to "cell" and ', () => {
it('should create the plugin and set selection type to "cell" and', () => {
plugin = new SlickHybridSelectionModel({ selectActiveRow: false, selectionType: 'cell' });
plugin.init(gridStub);

expect(plugin.currentSelectionModeIsRow()).toBeFalsy();
});

it('should create the plugin and set selection type to "cell" and ', () => {
it('should create the plugin and set selection type to "cell" and', () => {
plugin = new SlickHybridSelectionModel({ selectActiveRow: false, selectionType: 'row' });
plugin.init(gridStub);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ describe('the Date ISO Formatter', () => {
expect(result).toBe('2019-05-01');
});

it('should return a formatted date value without time date provided has TZ but we specifically mention to parse as UTC ', () => {
it('should return a formatted date value without time date provided has TZ but we specifically mention to parse as UTC', () => {
const value = new Date('2099-12-31T00:00:00.000Z');

const result1 = Formatters.dateIso(0, 0, value, { params: { parseDateAsUtc: true } } as Column, {}, {} as any);
Expand Down
Loading
Loading