Skip to content

Commit 1d5241d

Browse files
committed
[New] add support for sorting CJS exports assignments
1 parent df15898 commit 1d5241d

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

tests/src/rules/order.js

+56
Original file line numberDiff line numberDiff line change
@@ -1218,6 +1218,20 @@ ruleTester.run('order', rule, {
12181218
alphabetize: { order: 'asc' },
12191219
}],
12201220
}),
1221+
test({
1222+
code: `
1223+
module.exports.A = { };
1224+
module.exports.A.B = { };
1225+
module.exports.B = { };
1226+
exports.C = { };
1227+
`,
1228+
options: [{
1229+
named: {
1230+
cjsExports: true,
1231+
},
1232+
alphabetize: { order: 'asc' },
1233+
}],
1234+
}),
12211235
],
12221236
invalid: [
12231237
// builtin before external module (require)
@@ -2926,6 +2940,48 @@ ruleTester.run('order', rule, {
29262940
message: '`c` export should occur after export of `b`',
29272941
}],
29282942
}),
2943+
test({
2944+
code: `
2945+
exports.B = { };
2946+
module.exports.A = { };
2947+
module.exports.C = { };
2948+
`,
2949+
output: `
2950+
module.exports.A = { };
2951+
exports.B = { };
2952+
module.exports.C = { };
2953+
`,
2954+
options: [{
2955+
named: {
2956+
cjsExports: true,
2957+
},
2958+
alphabetize: { order: 'asc' },
2959+
}],
2960+
errors: [{
2961+
message: '`A` export should occur before export of `B`',
2962+
}],
2963+
}),
2964+
test({
2965+
code: `
2966+
exports.A.C = { };
2967+
module.exports.A.A = { };
2968+
exports.A.B = { };
2969+
`,
2970+
output: `
2971+
module.exports.A.A = { };
2972+
exports.A.B = { };
2973+
exports.A.C = { };
2974+
`,
2975+
options: [{
2976+
named: {
2977+
cjsExports: true,
2978+
},
2979+
alphabetize: { order: 'asc' },
2980+
}],
2981+
errors: [{
2982+
message: '`A.C` export should occur after export of `A.B`',
2983+
}],
2984+
}),
29292985
// Alphabetize with require
29302986
...semver.satisfies(eslintPkg.version, '< 3.0.0') ? [] : [
29312987
test({

0 commit comments

Comments
 (0)