Skip to content

Commit 06404b4

Browse files
author
Chris Garrett
committed
update prettierrc and run eslint --fix
1 parent fe4eb8d commit 06404b4

19 files changed

Lines changed: 430 additions & 610 deletions

.prettierrc.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
"use strict";
1+
'use strict';
22

33
module.exports = {
4-
singleQuote: false,
5-
trailingComma: "none"
4+
singleQuote: true,
5+
trailingComma: 'es5',
6+
printWidth: 100,
67
};

bin/cli.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
#!/usr/bin/env node
2-
"use strict";
2+
'use strict';
33

4-
const gatherTelemetry = require("../lib/gather-telemetry");
4+
const gatherTelemetry = require('../lib/gather-telemetry');
55

66
(async () => {
77
await gatherTelemetry(process.argv[2]);
88

9-
require("codemod-cli").runTransform(
9+
require('codemod-cli').runTransform(
1010
__dirname,
11-
"ember-object",
11+
'ember-object',
1212
process.argv.slice(2) /* paths or globs */
1313
);
1414
})();

bin/temeletry.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env node
2-
"use strict";
2+
'use strict';
33

4-
const gatherTelemetry = require("../lib/gather-telemetry");
4+
const gatherTelemetry = require('../lib/gather-telemetry');
55

66
gatherTelemetry(process.argv[2]);

lib/cache.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
const Cache = require("sync-disk-cache");
2-
const getRepoInfo = require("git-repo-info");
1+
const Cache = require('sync-disk-cache');
2+
const getRepoInfo = require('git-repo-info');
33

44
const gitInfo = getRepoInfo();
55
const cache = new Cache(`native-class-codemod-${gitInfo.sha}-${process.cwd()}`);

lib/gather-telemetry.js

Lines changed: 36 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
const puppeteer = require("puppeteer");
2-
const cache = require("./cache");
1+
const puppeteer = require('puppeteer');
2+
const cache = require('./cache');
33

44
module.exports = async function gatherTelemetry(url) {
55
const browser = await puppeteer.launch({ ignoreHTTPSErrors: true });
66
const page = await browser.newPage();
77

88
await page.goto(url);
99

10-
await page.exposeFunction("logErrorInNodeProcess", message => {
10+
await page.exposeFunction('logErrorInNodeProcess', message => {
1111
console.error(message); // eslint-disable-line no-console
1212
});
1313

1414
// Get the "viewport" of the page, as reported by the page.
1515
const telemetry = await page.evaluate(() => {
16-
const SKIPPED_MODULES = ["fetch/ajax"];
16+
const SKIPPED_MODULES = ['fetch/ajax'];
1717

1818
/* globals window, Ember */
1919
let telemetry = {};
@@ -35,9 +35,7 @@ module.exports = async function gatherTelemetry(url) {
3535
}
3636
} catch (error) {
3737
// log the error, but continue
38-
window.logErrorInNodeProcess(
39-
`error evaluating \`${modulePath}\`: ${error.message}`
40-
);
38+
window.logErrorInNodeProcess(`error evaluating \`${modulePath}\`: ${error.message}`);
4139
}
4240
}
4341

@@ -49,18 +47,15 @@ module.exports = async function gatherTelemetry(url) {
4947
*/
5048
function getType(object) {
5149
const types = [
52-
"Application",
53-
"Controller",
54-
"Route",
55-
"Component",
56-
"Service",
57-
"Router",
58-
"Engine"
50+
'Application',
51+
'Controller',
52+
'Route',
53+
'Component',
54+
'Service',
55+
'Router',
56+
'Engine',
5957
];
60-
return (
61-
types.find(type => Ember[type] && object instanceof Ember[type]) ||
62-
"EmberObject"
63-
);
58+
return types.find(type => Ember[type] && object instanceof Ember[type]) || 'EmberObject';
6459
}
6560

6661
/**
@@ -85,32 +80,24 @@ module.exports = async function gatherTelemetry(url) {
8580
const { source } = meta;
8681
const type = getType(source);
8782

88-
const ownProperties = Object.keys(source).filter(
89-
key => !["_super", "actions"].includes(key)
90-
);
83+
const ownProperties = Object.keys(source).filter(key => !['_super', 'actions'].includes(key));
9184

9285
const ownActions = source.actions ? Object.keys(source.actions) : [];
9386

9487
const observedProperties = Object.keys(meta._watching || {});
9588

96-
const overriddenProperties = ownProperties.filter(key =>
97-
isOverridden(meta.parent, key)
98-
);
89+
const overriddenProperties = ownProperties.filter(key => isOverridden(meta.parent, key));
9990

100-
const overriddenActions = ownActions.filter(key =>
101-
isActionOverridden(meta.parent, key)
102-
);
91+
const overriddenActions = ownActions.filter(key => isActionOverridden(meta.parent, key));
10392

10493
const computedProperties = [];
10594
meta.forEachDescriptors((name, desc) => {
10695
const descProto = Object.getPrototypeOf(desc) || {};
107-
const constructorName = descProto.constructor
108-
? descProto.constructor.name
109-
: "";
96+
const constructorName = descProto.constructor ? descProto.constructor.name : '';
11097
if (
11198
desc.enumerable &&
11299
ownProperties.includes(name) &&
113-
constructorName === "ComputedProperty"
100+
constructorName === 'ComputedProperty'
114101
) {
115102
computedProperties.push(name);
116103
}
@@ -119,16 +106,16 @@ module.exports = async function gatherTelemetry(url) {
119106
const { offProperties, unobservedProperties } = ownProperties.reduce(
120107
({ offProperties, unobservedProperties }, key) => {
121108
const { type, events } = getListenerData(meta.parent, key);
122-
if (type === "event") {
109+
if (type === 'event') {
123110
offProperties[key] = events;
124-
} else if (type === "observer") {
111+
} else if (type === 'observer') {
125112
unobservedProperties[key] = events;
126113
}
127114
return { offProperties, unobservedProperties };
128115
},
129116
{
130117
offProperties: {},
131-
unobservedProperties: {}
118+
unobservedProperties: {},
132119
}
133120
);
134121

@@ -147,7 +134,7 @@ module.exports = async function gatherTelemetry(url) {
147134
overriddenProperties,
148135
ownProperties,
149136
type,
150-
unobservedProperties
137+
unobservedProperties,
151138
};
152139
}
153140

@@ -162,24 +149,21 @@ module.exports = async function gatherTelemetry(url) {
162149
*/
163150
function getListenerData(map, key) {
164151
while (map) {
165-
let type = "event";
166-
const events = parseListeners(map._listeners).reduce(
167-
(acc, [event, , method]) => {
168-
if (method === key) {
169-
const [observedProp, observerEvent] = event.split(":");
170-
if (observerEvent) {
171-
type = "observer";
172-
}
173-
acc.push(observedProp);
152+
let type = 'event';
153+
const events = parseListeners(map._listeners).reduce((acc, [event, , method]) => {
154+
if (method === key) {
155+
const [observedProp, observerEvent] = event.split(':');
156+
if (observerEvent) {
157+
type = 'observer';
174158
}
175-
return acc;
176-
},
177-
[]
178-
);
159+
acc.push(observedProp);
160+
}
161+
return acc;
162+
}, []);
179163
if (events.length) {
180164
return {
181165
type,
182-
events
166+
events,
183167
};
184168
}
185169
map = map.parent;
@@ -197,12 +181,12 @@ module.exports = async function gatherTelemetry(url) {
197181
function parseListeners(listeners = [], size = 4) {
198182
var result = [];
199183
if (listeners.length) {
200-
if (typeof listeners[0] === "object") {
184+
if (typeof listeners[0] === 'object') {
201185
result = listeners.map(({ event, target, method, kind }) => [
202186
event,
203187
target,
204188
method,
205-
kind
189+
kind,
206190
]);
207191
} else {
208192
const input = listeners.slice(0);
@@ -257,7 +241,7 @@ module.exports = async function gatherTelemetry(url) {
257241
return telemetry;
258242
});
259243

260-
cache.set("telemetry", JSON.stringify(telemetry));
244+
cache.set('telemetry', JSON.stringify(telemetry));
261245

262246
await browser.close();
263247
};

test/run-test.js

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,52 @@
11
/* eslint-disable no-console */
22

3-
const { spawn } = require("child_process");
4-
const execa = require("execa");
5-
const path = require("path");
3+
const { spawn } = require('child_process');
4+
const execa = require('execa');
5+
const path = require('path');
66

77
// resolved from the root of the project
8-
const inputDir = path.resolve("./test/fixtures/input");
9-
const execOpts = { cwd: inputDir, stderr: "inherit" };
8+
const inputDir = path.resolve('./test/fixtures/input');
9+
const execOpts = { cwd: inputDir, stderr: 'inherit' };
1010

1111
(async () => {
12-
console.log("installing deps");
12+
console.log('installing deps');
1313

14-
await execa("rm", ["-rf", "node_modules"], execOpts);
15-
await execa("yarn", ["install"], execOpts);
14+
await execa('rm', ['-rf', 'node_modules'], execOpts);
15+
await execa('yarn', ['install'], execOpts);
1616

17-
console.log("starting serve");
17+
console.log('starting serve');
1818

1919
// We use spawn for this one so we can kill it later without throwing an error
20-
const emberServe = spawn("yarn", ["start"], execOpts);
20+
const emberServe = spawn('yarn', ['start'], execOpts);
2121
emberServe.stderr.pipe(process.stderr);
2222

2323
await new Promise(resolve => {
24-
emberServe.stdout.on("data", data => {
25-
if (data.toString().includes("Build successful")) {
24+
emberServe.stdout.on('data', data => {
25+
if (data.toString().includes('Build successful')) {
2626
resolve();
2727
}
2828
});
2929
});
3030

31-
console.log("running codemod");
31+
console.log('running codemod');
3232

33-
await execa(
34-
"../../../bin/cli.js",
35-
["http://localhost:4200", "app"],
36-
execOpts
37-
);
33+
await execa('../../../bin/cli.js', ['http://localhost:4200', 'app'], execOpts);
3834

39-
console.log("codemod complete, ending serve");
35+
console.log('codemod complete, ending serve');
4036

41-
emberServe.kill("SIGTERM");
37+
emberServe.kill('SIGTERM');
4238

43-
console.log("comparing results");
39+
console.log('comparing results');
4440

4541
try {
46-
await execa("diff", ["-rq", "./app", "../output/app"], execOpts);
42+
await execa('diff', ['-rq', './app', '../output/app'], execOpts);
4743
} catch (e) {
48-
console.error("codemod did not run successfully");
44+
console.error('codemod did not run successfully');
4945
console.log(e.stdout);
5046

5147
process.exit(1);
5248
}
5349

54-
console.log("codemod ran successfully! 🎉");
50+
console.log('codemod ran successfully! 🎉');
5551
process.exit(0);
5652
})();

transforms/ember-object/__testfixtures__/single-quotes.input.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const Foo = Test.extend(MyMixin, {
3131

3232
anotherMethod() {
3333
this._super(...arguments);
34-
}
34+
},
3535
});
3636

3737
const Foo = EmberObject.extend(MixinA, MixinB);

transforms/ember-object/index.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
const { getOptions } = require("codemod-cli");
2-
const { replaceEmberObjectExpressions } = require("../helpers/parse-helper");
1+
const { getOptions } = require('codemod-cli');
2+
const { replaceEmberObjectExpressions } = require('../helpers/parse-helper');
33

44
const DEFAULT_OPTIONS = {
55
decorators: true,
66
classFields: true,
77
classicDecorator: true,
8-
quote: "double"
8+
quote: 'double',
99
};
1010

1111
module.exports = function transformer(file, api) {
@@ -18,11 +18,11 @@ module.exports = function transformer(file, api) {
1818
const replaced = replaceEmberObjectExpressions(j, root, path, options);
1919
if (replaced) {
2020
source = root.toSource({
21-
quote: options.quotes || options.quote
21+
quote: options.quotes || options.quote,
2222
});
2323
}
2424
return source;
2525
};
2626

2727
// Set the parser, needed for supporting decorators
28-
module.exports.parser = "flow";
28+
module.exports.parser = 'flow';

transforms/ember-object/test.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
1-
"use strict";
1+
'use strict';
22

3-
const { runTransformTest } = require("codemod-cli");
3+
const { runTransformTest } = require('codemod-cli');
44

55
// bootstrap the mock telemetry data
6-
const walkSync = require("walk-sync");
7-
const mockTelemetryData = require("./__testfixtures__/-mock-telemetry.json");
6+
const walkSync = require('walk-sync');
7+
const mockTelemetryData = require('./__testfixtures__/-mock-telemetry.json');
88

9-
const cache = require("../../lib/cache");
9+
const cache = require('../../lib/cache');
1010

1111
// This is nasty, cwd is screwed up here for some reason
12-
let testFiles = walkSync("./transforms/ember-object/__testfixtures__", {
13-
globs: ["**/*.input.js"]
12+
let testFiles = walkSync('./transforms/ember-object/__testfixtures__', {
13+
globs: ['**/*.input.js'],
1414
});
1515
let mockTelemetry = {};
1616

1717
for (let testFile of testFiles) {
18-
let moduleName = testFile.replace(/\.[^/.]+$/, "");
18+
let moduleName = testFile.replace(/\.[^/.]+$/, '');
1919
let value = mockTelemetryData[moduleName] || {};
2020

2121
mockTelemetry[
2222
`ember-es6-class-codemod/transforms/ember-object/__testfixtures__/${moduleName}`
2323
] = value;
2424
}
2525

26-
cache.set("telemetry", JSON.stringify(mockTelemetry));
26+
cache.set('telemetry', JSON.stringify(mockTelemetry));
2727

2828
runTransformTest({
29-
type: "jscodeshift",
30-
name: "ember-object"
29+
type: 'jscodeshift',
30+
name: 'ember-object',
3131
});

0 commit comments

Comments
 (0)