Skip to content

Commit

Permalink
Refactor mergeTestDescriptions() test utility to migrate to ESM (#7035
Browse files Browse the repository at this point in the history
)

`mergeTestDescriptions()` is used by deprecated rules.
So I've created this commit from the `v16` branch, instead of the `main` branch.

This change enables the `esModuleInterop` flag to prevent the following TypeScript error:

```
lib/testUtils/mergeTestDescriptions.mjs:1:8 - error TS1259: Module '"/Users/masafumi.koba/git/stylelint/stylelint/node_modules/deepmerge/index"' can only be default-imported using the 'esModuleInterop' flag

1 import merge from 'deepmerge';
         ~~~~~

  node_modules/deepmerge/index.d.ts:20:1
    20 export = deepmerge;
       ~~~~~~~~~~~~~~~~~~~
    This module is declared with 'export =', and can only be used with a default import when using the 'esModuleInterop' flag.
```
  • Loading branch information
ybiquitous authored and mattxwang committed Jul 4, 2023
1 parent cfa8913 commit 7176474
Show file tree
Hide file tree
Showing 7 changed files with 14 additions and 17 deletions.
2 changes: 1 addition & 1 deletion lib/rules/at-rule-empty-line-before/__tests__/index.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { stripIndent } from 'common-tags';

import mergeTestDescriptions from '../../../testUtils/mergeTestDescriptions.js';
import mergeTestDescriptions from '../../../testUtils/mergeTestDescriptions.mjs';
import rule from '../index.js';
const { messages, ruleName } = rule;

Expand Down
2 changes: 1 addition & 1 deletion lib/rules/color-hex-length/__tests__/index.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import mergeTestDescriptions from '../../../testUtils/mergeTestDescriptions.js';
import mergeTestDescriptions from '../../../testUtils/mergeTestDescriptions.mjs';
import naiveCssInJs from '../../../__tests__/fixtures/postcss-naive-css-in-js.js';

import rule from '../index.js';
Expand Down
2 changes: 1 addition & 1 deletion lib/rules/comment-empty-line-before/__tests__/index.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import mergeTestDescriptions from '../../../testUtils/mergeTestDescriptions.js';
import mergeTestDescriptions from '../../../testUtils/mergeTestDescriptions.mjs';
import rule from '../index.js';
const { messages, ruleName } = rule;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
'use strict';

const mergeTestDescriptions = require('../mergeTestDescriptions');
import mergeTestDescriptions from '../mergeTestDescriptions.mjs';

describe('mergeTestDescriptions', () => {
it('merges empty objects', () => {
Expand Down
11 changes: 0 additions & 11 deletions lib/testUtils/mergeTestDescriptions.js

This file was deleted.

9 changes: 9 additions & 0 deletions lib/testUtils/mergeTestDescriptions.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import merge from 'deepmerge';

/**
* @param {...object} args
* @returns {object}
*/
export default function mergeTestDescriptions(...args) {
return merge.all(args);
}
1 change: 1 addition & 0 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"noUnusedParameters": true,
"noUncheckedIndexedAccess": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"skipLibCheck": false,
"paths": {
"*": ["./node_modules/@types/*", "./types/*"]
Expand Down

0 comments on commit 7176474

Please sign in to comment.