Skip to content

Commit 847bca7

Browse files
Add support for formatting from closure compiler
1 parent abeac73 commit 847bca7

File tree

59 files changed

+239
-18
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+239
-18
lines changed

src/parsing/preserve-default-export.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { ExpressionStatement, AssignmentExpression, MemberExpression } from 'estree';
17+
import { ExpressionStatement, AssignmentExpression } from 'estree';
1818
import { ExportDetails, Range } from '../types';
1919
import MagicString from 'magic-string';
2020

@@ -26,14 +26,11 @@ export function PreserveDefault(
2626
exportInline: boolean,
2727
): boolean {
2828
const assignmentExpression = ancestor.expression as AssignmentExpression;
29-
const memberExpression = assignmentExpression.left as MemberExpression;
30-
const [memberExpressionStart, memberExpressionEnd]: Range = memberExpression.range as Range;
29+
const [leftStart]: Range = assignmentExpression.left.range as Range;
30+
const [rightStart]: Range = assignmentExpression.right.range as Range;
3131

32-
source.overwrite(
33-
memberExpressionStart,
34-
memberExpressionEnd + assignmentExpression.operator.length,
35-
'export default ',
36-
);
32+
// console.log(code.substring(leftStart, rightStart));
33+
source.overwrite(leftStart, rightStart, 'export default ');
3734

3835
return false;
3936
}

src/parsing/preserve-named-constant-export.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ function PreserveIdentifier(
6969
const left = assignmentExpression.left;
7070
const right = assignmentExpression.right;
7171
const [ancestorStart, ancestorEnd]: Range = ancestor.range as Range;
72+
const [leftStart] = left.range as Range;
7273
const [rightStart, rightEnd]: Range = right.range as Range;
7374

7475
if (exportInline) {
@@ -80,10 +81,9 @@ function PreserveIdentifier(
8081
} else if (exportDetails.source === null && 'name' in right) {
8182
// This is a locally defined identifier with a name we can use.
8283
exportDetails.local = right.name;
83-
source.remove((left.range as Range)[0], rightEnd + 1);
84+
source.remove(leftStart, ancestorEnd);
8485
return true;
8586
} else {
86-
// exportDetails.local =
8787
source.overwrite(
8888
ancestorStart,
8989
ancestorEnd,

src/transformers/exports.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,9 @@ export default class ExportTransform extends Transform implements TransformInter
238238
}
239239

240240
if (!exportIsLocal) {
241-
source.remove((left.range as Range)[0], (expression.right.range as Range)[1] + 1);
241+
const [leftStart] = left.range as Range;
242+
const { 1: ancestorEnd } = ancestor.range as Range;
243+
source.remove(leftStart, ancestorEnd);
242244
}
243245
}
244246
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
export var multipleArguments=(a, b) => console.log(a, b);
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
export var singleArgument=a => console.log(a);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
let b = [3, 4], c = [5, 6];
3+
export function yes(a) {
4+
return 0 <= c.indexOf(a) && 0 <= b.indexOf(a);
5+
};
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
var export1=1;
3+
function export2(){
4+
return 2;
5+
};export{export1,export2}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
export default [];
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
export default a => console.log(a);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
class a {
3+
constructor(b) {
4+
this.name_ = b;
5+
}
6+
console() {
7+
console.log(this.name_);
8+
}
9+
}
10+
export default a;

0 commit comments

Comments
 (0)