Skip to content

Commit

Permalink
style: Use default prettier preset.
Browse files Browse the repository at this point in the history
  • Loading branch information
avocadowastaken committed May 6, 2021
1 parent 876a0b7 commit cb94962
Show file tree
Hide file tree
Showing 22 changed files with 198 additions and 273 deletions.
10 changes: 8 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,18 @@
"overrides": [
{
"files": "*.js",
"extends": "plugin:@superdispatch/node"
"extends": "plugin:@superdispatch/node",
"rules": {
"quotes": "off"
}
},

{
"files": ["*.spec.js", "integration/**/*.js"],
"extends": "plugin:@superdispatch/jest"
"extends": "plugin:@superdispatch/jest",
"rules": {
"quotes": "off"
}
}
]
}
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@ import {
colors,
makeStyles,
ServerStyleSheets,
} from '@material-ui/core';
import { ChevronLeft, ChevronRight } from '@material-ui/icons';
} from "@material-ui/core";
import { ChevronLeft, ChevronRight } from "@material-ui/icons";
```

**Out**

```javascript
import Button from '@material-ui/core/esm/Button/index.js';
import * as colors from '@material-ui/core/esm/colors/index.js';
import makeStyles from '@material-ui/core/esm/styles/makeStyles.js';
import { ServerStyleSheets } from '@material-ui/styles/esm/index.js';
import ChevronLeft from '@material-ui/icons/esm/ChevronLeft.js';
import ChevronRight from '@material-ui/icons/esm/ChevronRight.js';
import Button from "@material-ui/core/esm/Button/index.js";
import * as colors from "@material-ui/core/esm/colors/index.js";
import makeStyles from "@material-ui/core/esm/styles/makeStyles.js";
import { ServerStyleSheets } from "@material-ui/styles/esm/index.js";
import ChevronLeft from "@material-ui/icons/esm/ChevronLeft.js";
import ChevronRight from "@material-ui/icons/esm/ChevronRight.js";
```

### Usage
Expand All @@ -58,11 +58,11 @@ import ChevronRight from '@material-ui/icons/esm/ChevronRight.js';
#### **Via Node API**

```javascript
require('babel-core').transform('code', {
require("babel-core").transform("code", {
plugins: [
[
'babel-plugin-direct-import',
{ modules: ['luxon', '@material-ui/core', '@material-ui/icons'] },
"babel-plugin-direct-import",
{ modules: ["luxon", "@material-ui/core", "@material-ui/icons"] },
],
],
});
Expand All @@ -75,15 +75,15 @@ require('babel-core').transform('code', {
Namespace imports are complicate to analyze, that's why we skip them.

```jsx
import * as MUI from 'material-ui';
import * as MUI from "material-ui";

return (props) => <MUI.Checkbox {...props} />;
```

##### Mapping of variable exports:

```js
import foo from './foo';
import foo from "./foo";

export const bar = foo.bar;
export const baz = foo.baz;
Expand Down
8 changes: 4 additions & 4 deletions integration/@material-ui/core/exports.spec.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
'use strict';
"use strict";

const getModuleExports = require('../../../lib/internal/getModuleExports');
const getModuleExports = require("../../../lib/internal/getModuleExports");

it('resolves exports for `@material-ui/core`', () => {
expect(getModuleExports('@material-ui/core')).toMatchInlineSnapshot(`
it("resolves exports for `@material-ui/core`", () => {
expect(getModuleExports("@material-ui/core")).toMatchInlineSnapshot(`
Map {
"colors" => Object {
"external": "colors",
Expand Down
12 changes: 6 additions & 6 deletions integration/@material-ui/core/plugin.spec.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
'use strict';
"use strict";

const runPlugin = require('../../runPlugin');
const runPlugin = require("../../runPlugin");

describe('@material-ui/core', () => {
it('transforms imports', () => {
describe("@material-ui/core", () => {
it("transforms imports", () => {
expect(
runPlugin(
'import { Button, colors, makeStyles, ServerStyleSheets } from "@material-ui/core"',
['@material-ui/core'],
),
["@material-ui/core"]
)
).toMatchInlineSnapshot(`
import Button from "@material-ui/core/esm/Button/index.js";
import * as colors from "@material-ui/core/esm/colors/index.js";
Expand Down
12 changes: 6 additions & 6 deletions integration/@material-ui/icons/plugin.spec.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
'use strict';
"use strict";

const runPlugin = require('../../runPlugin');
const runPlugin = require("../../runPlugin");

describe('@material-ui/icons', () => {
it('transforms imports', () => {
describe("@material-ui/icons", () => {
it("transforms imports", () => {
expect(
runPlugin(
'import { ChevronLeft, ChevronRight } from "@material-ui/icons"',
['@material-ui/icons'],
),
["@material-ui/icons"]
)
).toMatchInlineSnapshot(`
import ChevronLeft from "@material-ui/icons/esm/ChevronLeft.js";
import ChevronRight from "@material-ui/icons/esm/ChevronRight.js";
Expand Down
8 changes: 4 additions & 4 deletions integration/@material-ui/lab/exports.spec.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
'use strict';
"use strict";

const getModuleExports = require('../../../lib/internal/getModuleExports');
const getModuleExports = require("../../../lib/internal/getModuleExports");

test('exports', () => {
expect(getModuleExports('@material-ui/lab')).toMatchInlineSnapshot(`
test("exports", () => {
expect(getModuleExports("@material-ui/lab")).toMatchInlineSnapshot(`
Map {
"Alert" => Object {
"external": "Alert",
Expand Down
10 changes: 5 additions & 5 deletions integration/@material-ui/lab/plugin.spec.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
'use strict';
"use strict";

const runPlugin = require('../../runPlugin');
const runPlugin = require("../../runPlugin");

test('transforms', () => {
test("transforms", () => {
expect(
runPlugin(
'import { Autocomplete, createFilterOptions, useAutocomplete } from "@material-ui/lab"',
['@material-ui/lab'],
),
["@material-ui/lab"]
)
).toMatchInlineSnapshot(`
import Autocomplete from "@material-ui/lab/esm/Autocomplete/index.js";
import { createFilterOptions } from "@material-ui/lab/esm/Autocomplete/Autocomplete.js";
Expand Down
8 changes: 4 additions & 4 deletions integration/@material-ui/styles/exports.spec.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
'use strict';
"use strict";

const getModuleExports = require('../../../lib/internal/getModuleExports');
const getModuleExports = require("../../../lib/internal/getModuleExports");

it('resolves exports for `@material-ui/styles`', () => {
expect(getModuleExports('@material-ui/styles')).toMatchInlineSnapshot(`
it("resolves exports for `@material-ui/styles`", () => {
expect(getModuleExports("@material-ui/styles")).toMatchInlineSnapshot(`
Map {
"createGenerateClassName" => Object {
"external": "createGenerateClassName",
Expand Down
12 changes: 6 additions & 6 deletions integration/@material-ui/styles/plugin.spec.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
'use strict';
"use strict";

const runPlugin = require('../../runPlugin');
const runPlugin = require("../../runPlugin");

describe('@material-ui/styles', () => {
it('transforms imports', () => {
describe("@material-ui/styles", () => {
it("transforms imports", () => {
expect(
runPlugin(
'import { makeStyles, ClassNameMap } from "@material-ui/styles";',
['@material-ui/styles'],
),
["@material-ui/styles"]
)
).toMatchInlineSnapshot(`
import makeStyles from "@material-ui/styles/esm/makeStyles/index.js";
import { ClassNameMap } from "@material-ui/styles";
Expand Down
8 changes: 4 additions & 4 deletions integration/luxon/exports.spec.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
'use strict';
"use strict";

const getModuleExports = require('../../lib/internal/getModuleExports');
const getModuleExports = require("../../lib/internal/getModuleExports");

it('resolves exports for `luxon`', () => {
expect(getModuleExports('luxon')).toMatchInlineSnapshot(`
it("resolves exports for `luxon`", () => {
expect(getModuleExports("luxon")).toMatchInlineSnapshot(`
Map {
"DateTime" => Object {
"external": "DateTime",
Expand Down
12 changes: 6 additions & 6 deletions integration/luxon/plugin.spec.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
'use strict';
"use strict";

const runPlugin = require('../runPlugin');
const runPlugin = require("../runPlugin");

describe('luxon', () => {
it('transforms imports', () => {
describe("luxon", () => {
it("transforms imports", () => {
expect(
runPlugin('import { DateTime, Interval, Duration } from "luxon"', [
'luxon',
]),
"luxon",
])
).toMatchInlineSnapshot(`
import DateTime from "luxon/src/datetime.js";
import Interval from "luxon/src/interval.js";
Expand Down
8 changes: 4 additions & 4 deletions integration/runPlugin.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';
"use strict";

const babel = require('@babel/core');
const plugin = require('../lib/plugin');
const babel = require("@babel/core");
const plugin = require("../lib/plugin");

/** @type {Set<string>} */
const transformed = new Set();
Expand All @@ -24,7 +24,7 @@ module.exports = function runPlugin(input, modules) {
const result = babel.transformSync(input, {
plugins: [[plugin, { modules }]],
});
if (!result?.code) return '';
if (!result?.code) return "";
transformed.add(result.code);
return result.code;
};
26 changes: 13 additions & 13 deletions lib/internal/getModuleExports.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
'use strict';
"use strict";

const fs = require('fs');
const path = require('path');
const assert = require('assert');
const babel = require('@babel/core');
const resolveModule = require('./resolveModule');
const fs = require("fs");
const path = require("path");
const assert = require("assert");
const babel = require("@babel/core");
const resolveModule = require("./resolveModule");

const { types: t } = babel;

Expand Down Expand Up @@ -38,7 +38,7 @@ function resolveEntry(name, indexFile) {

assert.ok(
indexFilePath,
`failed to resolve 'indexFile' specified for '${name}'.`,
`failed to resolve 'indexFile' specified for '${name}'.`
);

return indexFilePath;
Expand All @@ -50,21 +50,21 @@ function resolveEntry(name, indexFile) {
*/
function makeRelativeSource(source) {
const chunks = source.split(path.sep);
return chunks.slice(chunks.lastIndexOf('node_modules') + 1).join('/');
return chunks.slice(chunks.lastIndexOf("node_modules") + 1).join("/");
}

/**
* @param {string} filename
* @returns {Generator<ModuleExport, void, any>}
*/
function* traverseDeep(filename) {
const content = fs.readFileSync(filename, 'utf-8');
const content = fs.readFileSync(filename, "utf-8");
const ast = babel.parse(content, {
filename,
ast: true,
babelrc: false,
configFile: false,
sourceType: 'module',
sourceType: "module",
});

assert.ok(babel.types.isFile(ast));
Expand All @@ -83,9 +83,9 @@ function* traverseDeep(filename) {
imports.set(specifier.local.name, {
source: makeRelativeSource(sourcePath),
name: t.isImportNamespaceSpecifier(specifier)
? '*'
? "*"
: t.isImportDefaultSpecifier(specifier)
? 'default'
? "default"
: t.isIdentifier(specifier.imported)
? specifier.imported.name
: specifier.imported.value,
Expand Down Expand Up @@ -146,7 +146,7 @@ function* traverseDeep(filename) {

assert.ok(
sourcePath,
`failed to resolve '${node.source.value}' from '${dir}'`,
`failed to resolve '${node.source.value}' from '${dir}'`
);

yield* traverseDeep(sourcePath);
Expand Down
Loading

0 comments on commit cb94962

Please sign in to comment.