Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ES6] Use module everywhere #2614

Merged
merged 1 commit into from
Dec 21, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 23 additions & 7 deletions src/card/index.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,25 @@
import Card from './card';
import CardHeader from './card-header';
import CardTitle from './card-title';
import CardMedia from './card-media';
import CardText from './card-text';
import CardActions from './card-actions';
import CardExpandable from './card-expandable';

export {Card};
export {CardHeader};
export {CardTitle};
export {CardMedia};
export {CardText};
export {CardActions};
export {CardExpandable};

export default {
Card: require('./card'),
CardHeader: require('./card-header'),
CardTitle: require('./card-title'),
CardMedia: require('./card-media'),
CardText: require('./card-text'),
CardActions: require('./card-actions'),
CardExpandable: require('./card-expandable'),
Card,
CardHeader,
CardTitle,
CardMedia,
CardText,
CardActions,
CardExpandable,
};
10 changes: 8 additions & 2 deletions src/date-picker/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
import DatePicker from './date-picker';
import DatePickerDialog from './date-picker-dialog';

export {DatePicker};
export {DatePickerDialog};

export default {
DatePicker: require('./date-picker'),
DatePickerDialog: require('./date-picker-dialog'),
DatePicker,
DatePickerDialog,
};
10 changes: 8 additions & 2 deletions src/grid-list/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
import GridList from './grid-list';
import GridTile from './grid-tile';

export {GridList};
export {GridTile};

export default {
GridList: require('./grid-list'),
GridTile: require('./grid-tile'),
GridList,
GridTile,
};
300 changes: 224 additions & 76 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,78 +1,226 @@
import AppBar from './app-bar';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we can get the babel 6 in with the state 1 preset, we can use the export extensions to simplifiy this.

All of them can be like:

export  {AppBar} from './app-bar';

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's good to know.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello, I see that 1 line export is not considered a good practice. https://github.com/airbnb/javascript#10.3

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They are bad for files that perform logic, true. but for files that the only thing they do is re-export i think it makes sense. without this syntax the number of lines become excessively large and hard to maintain.

import AppCanvas from './app-canvas';
import AutoComplete from './auto-complete';
import Avatar from './avatar';
import Badge from './badge';
import BeforeAfterWrapper from './before-after-wrapper';
import Card from './card/card';
import CardActions from './card/card-actions';
import CardExpandable from './card/card-expandable';
import CardHeader from './card/card-header';
import CardMedia from './card/card-media';
import CardText from './card/card-text';
import CardTitle from './card/card-title';
import Checkbox from './checkbox';
import CircularProgress from './circular-progress';
import ClearFix from './clearfix';
import DatePicker from './date-picker/date-picker';
import DatePickerDialog from './date-picker/date-picker-dialog';
import Dialog from './dialog';
import Divider from './divider';
import DropDownIcon from './drop-down-icon';
import DropDownMenu from './drop-down-menu';
import EnhancedButton from './enhanced-button';
import FlatButton from './flat-button';
import FloatingActionButton from './floating-action-button';
import FontIcon from './font-icon';
import GridList from './grid-list/grid-list';
import GridTile from './grid-list/grid-tile';
import IconButton from './icon-button';
import IconMenu from './menus/icon-menu';
import LeftNav from './left-nav';
import LinearProgress from './linear-progress';
import List from './lists/list';
import ListDivider from './lists/list-divider';
import ListItem from './lists/list-item';
import Menu from './menus/menu';
import MenuItem from './menus/menu-item';
import Mixins from './mixins';
import Overlay from './overlay';
import Paper from './paper';
import Popover from './popover/popover';
import RadioButton from './radio-button';
import RadioButtonGroup from './radio-button-group';
import RaisedButton from './raised-button';
import RefreshIndicator from './refresh-indicator';
import Ripples from './ripples';
import SelectField from './select-field';
import SelectableContainerEnhance from './hoc/selectable-enhance';
import Slider from './slider';
import SvgIcon from './svg-icon';
import Styles from './styles';
import Snackbar from './snackbar';
import Tab from './tabs/tab';
import Tabs from './tabs/tabs';
import Table from './table/table';
import TableBody from './table/table-body';
import TableFooter from './table/table-footer';
import TableHeader from './table/table-header';
import TableHeaderColumn from './table/table-header-column';
import TableRow from './table/table-row';
import TableRowColumn from './table/table-row-column';
import Toggle from './toggle';
import ThemeWrapper from './theme-wrapper';
import TimePicker from './time-picker';
import TextField from './TextField';
import Toolbar from './toolbar/toolbar';
import ToolbarGroup from './toolbar/toolbar-group';
import ToolbarSeparator from './toolbar/toolbar-separator';
import ToolbarTitle from './toolbar/toolbar-title';
import Tooltip from './tooltip';
import Utils from './utils';

export {AppBar};
export {AppCanvas};
export {AutoComplete};
export {Avatar};
export {Badge};
export {BeforeAfterWrapper};
export {Card};
export {CardActions};
export {CardExpandable};
export {CardHeader};
export {CardMedia};
export {CardText};
export {CardTitle};
export {Checkbox};
export {CircularProgress};
export {ClearFix};
export {DatePicker};
export {DatePickerDialog};
export {Dialog};
export {Divider};
export {DropDownIcon};
export {DropDownMenu};
export {EnhancedButton};
export {FlatButton};
export {FloatingActionButton};
export {FontIcon};
export {GridList};
export {GridTile};
export {IconButton};
export {IconMenu};
export {LeftNav};
export {LinearProgress};
export {List};
export {ListDivider};
export {ListItem};
export {Menu};
export {MenuItem};
export {Mixins};
export {Overlay};
export {Paper};
export {Popover};
export {RadioButton};
export {RadioButtonGroup};
export {RaisedButton};
export {RefreshIndicator};
export {Ripples};
export {SelectField};
export {SelectableContainerEnhance};
export {Slider};
export {SvgIcon};
export {Styles};
export {Snackbar};
export {Tab};
export {Tabs};
export {Table};
export {TableBody};
export {TableFooter};
export {TableHeader};
export {TableHeaderColumn};
export {TableRow};
export {TableRowColumn};
export {Toggle};
export {ThemeWrapper};
export {TimePicker};
export {TextField};
export {Toolbar};
export {ToolbarGroup};
export {ToolbarSeparator};
export {ToolbarTitle};
export {Tooltip};
export {Utils};

import NavigationMenu from './svg-icons/navigation/menu';
import NavigationChevronLeft from './svg-icons/navigation/chevron-left';
import NavigationChevronRight from './svg-icons/navigation/chevron-right';

export const Icons = {
NavigationMenu,
NavigationChevronLeft,
NavigationChevronRight,
};

export default {
AppBar: require('./app-bar'),
AppCanvas: require('./app-canvas'),
AutoComplete: require('./auto-complete'),
Avatar: require('./avatar'),
Badge: require('./badge'),
BeforeAfterWrapper: require('./before-after-wrapper'),
Card: require('./card/card'),
CardActions: require('./card/card-actions'),
CardExpandable: require('./card/card-expandable'),
CardHeader: require('./card/card-header'),
CardMedia: require('./card/card-media'),
CardText: require('./card/card-text'),
CardTitle: require('./card/card-title'),
Checkbox: require('./checkbox'),
CircularProgress: require('./circular-progress'),
ClearFix: require('./clearfix'),
DatePicker: require('./date-picker/date-picker'),
DatePickerDialog: require('./date-picker/date-picker-dialog'),
Dialog: require('./dialog'),
Divider: require('./divider'),
DropDownIcon: require('./drop-down-icon'),
DropDownMenu: require('./drop-down-menu'),
EnhancedButton: require('./enhanced-button'),
FlatButton: require('./flat-button'),
FloatingActionButton: require('./floating-action-button'),
FontIcon: require('./font-icon'),
GridList: require('./grid-list/grid-list'),
GridTile: require('./grid-list/grid-tile'),
IconButton: require('./icon-button'),
IconMenu: require('./menus/icon-menu'),
LeftNav: require('./left-nav'),
LinearProgress: require('./linear-progress'),
List: require('./lists/list'),
ListDivider: require('./lists/list-divider'),
ListItem: require('./lists/list-item'),
Menu: require('./menus/menu'),
MenuItem: require('./menus/menu-item'),
Mixins: require('./mixins/'),
Overlay: require('./overlay'),
Paper: require('./paper'),
Popover: require('./popover/popover'),
RadioButton: require('./radio-button'),
RadioButtonGroup: require('./radio-button-group'),
RaisedButton: require('./raised-button'),
RefreshIndicator: require('./refresh-indicator'),
Ripples: require('./ripples/'),
SelectField: require('./select-field'),
SelectableContainerEnhance: require('./hoc/selectable-enhance'),
Slider: require('./slider'),
SvgIcon: require('./svg-icon'),
Icons: {
NavigationMenu: require('./svg-icons/navigation/menu'),
NavigationChevronLeft: require('./svg-icons/navigation/chevron-left'),
NavigationChevronRight: require('./svg-icons/navigation/chevron-right'),
},
Styles: require('./styles/'),
Snackbar: require('./snackbar'),
Tab: require('./tabs/tab'),
Tabs: require('./tabs/tabs'),
Table: require('./table/table'),
TableBody: require('./table/table-body'),
TableFooter: require('./table/table-footer'),
TableHeader: require('./table/table-header'),
TableHeaderColumn: require('./table/table-header-column'),
TableRow: require('./table/table-row'),
TableRowColumn: require('./table/table-row-column'),
Toggle: require('./toggle'),
ThemeWrapper: require('./theme-wrapper'),
TimePicker: require('./time-picker'),
TextField: require('./TextField'),
Toolbar: require('./toolbar/toolbar'),
ToolbarGroup: require('./toolbar/toolbar-group'),
ToolbarSeparator: require('./toolbar/toolbar-separator'),
ToolbarTitle: require('./toolbar/toolbar-title'),
Tooltip: require('./tooltip'),
Utils: require('./utils/'),
AppCanvas,
AutoComplete,
Avatar,
Badge,
BeforeAfterWrapper,
Card,
CardActions,
CardExpandable,
CardHeader,
CardMedia,
CardText,
CardTitle,
Checkbox,
CircularProgress,
ClearFix,
DatePicker,
DatePickerDialog,
Dialog,
Divider,
DropDownIcon,
DropDownMenu,
EnhancedButton,
FlatButton,
FloatingActionButton,
FontIcon,
GridList,
GridTile,
IconButton,
IconMenu,
LeftNav,
LinearProgress,
List,
ListDivider,
ListItem,
Menu,
MenuItem,
Mixins,
Overlay,
Paper,
Popover,
RadioButton,
RadioButtonGroup,
RaisedButton,
RefreshIndicator,
Ripples,
SelectField,
SelectableContainerEnhance,
Slider,
SvgIcon,
Styles,
Snackbar,
Tab,
Tabs,
Table,
TableBody,
TableFooter,
TableHeader,
TableHeaderColumn,
TableRow,
TableRowColumn,
Toggle,
ThemeWrapper,
TimePicker,
TextField,
Toolbar,
ToolbarGroup,
ToolbarSeparator,
ToolbarTitle,
Tooltip,
Utils,
};
14 changes: 11 additions & 3 deletions src/lists/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
import List from './list';
import ListDivider from './list-divider';
import ListItem from './list-item';

export {List};
export {ListDivider};
export {ListItem};

export default {
List: require('./list'),
ListDivider: require('./list-divider'),
ListItem: require('./list-item'),
List,
ListDivider,
ListItem,
};
18 changes: 14 additions & 4 deletions src/mixins/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
import ClickAwayable from './click-awayable';
import WindowListenable from './window-listenable';
import StylePropable from './style-propable';
import StyleResizable from './style-resizable';

export {ClickAwayable};
export {WindowListenable};
export {StylePropable};
export {StyleResizable};

export default {
ClickAwayable: require('./click-awayable'),
WindowListenable: require('./window-listenable'),
StylePropable: require('./style-propable'),
StyleResizable: require('./style-resizable'),
ClickAwayable,
WindowListenable,
StylePropable,
StyleResizable,
};
Loading