Skip to content

Commit 4e82eb3

Browse files
Switches from webpack image loader to inlining with babel
1 parent d1c00b7 commit 4e82eb3

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"devDependencies": {
1111
"babel-loader": "^6.2.4",
1212
"babel-plugin-react-transform": "^2.0.2",
13+
"babel-plugin-static-fs": "^1.1.0",
1314
"babel-preset-es2015": "^6.6.0",
1415
"babel-preset-react": "^6.5.0",
1516
"babel-preset-react-hmre": "^1.1.1",

src/components/BannerComponent.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
import * as Radium from 'radium';
22
import * as React from 'react';
3+
import { readFileSync } from 'fs';
4+
5+
const toDataURI = (mediaType: string, value: Buffer): string =>
6+
`data:${mediaType};base64,${value.toString('base64')}`;
7+
8+
const svg = (value: Buffer): string =>
9+
toDataURI('image/svg+xml', value);
10+
11+
const TWITTER_SVG = svg(readFileSync(`${__dirname}/twitter.svg`));
312

413
export enum BannerKind {
514
primary,
@@ -33,7 +42,7 @@ export default class BannerComponent extends React.Component<BannerProps, any> {
3342
render() {
3443
return (
3544
<div ref="root" style={[styles.base, styles[this.props.kind]]}>
36-
<img ref="logo" src={require('./twitter.svg') } width="20" />
45+
<img ref="logo" src={TWITTER_SVG} width="20" />
3746
</div>
3847
);
3948
}

webpack/config-base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ const babel = {
5656
include: BUILD_SRC_DIR,
5757
query: {
5858
presets: ['es2015'],
59-
plugins: [],
59+
plugins: <string | any>['static-fs'],
6060
}
6161
};
6262

0 commit comments

Comments
 (0)