Skip to content

Commit

Permalink
feat(webpack): Entry name depends on file name
Browse files Browse the repository at this point in the history
  • Loading branch information
d4rkr00t committed Sep 30, 2016
1 parent f8f74c2 commit 2d2502a
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 13 deletions.
4 changes: 1 addition & 3 deletions flow-typed/type-aliases.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ declare type AikParams = {

declare type NgrokUrl = string | false

declare type Entry = {
app: string[]
}
declare type Entry = Object

declare type Output = {
path: string,
Expand Down
32 changes: 24 additions & 8 deletions lib/webpack/entry.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,48 @@
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.buildEntryName = buildEntryName;
exports.entryProd = entryProd;
exports.entryDev = entryDev;
exports.default = entry;

var _path = require('path');

var _path2 = _interopRequireDefault(_path);

var _helpers = require('./helpers');

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

/**
* Build entry name from given filename.
*
* index.js -> index
* src/index.js -> index
* index.sth.js -> index
*/
function buildEntryName(filename) {
return _path2.default.basename(filename).split('.')[0];
}

/**
* Entry for production build.
*/
function entryProd(filename) {
return {
app: [(0, _helpers.resolveToCwd)(filename)]
};
var entry = buildEntryName(filename);
return _defineProperty({}, entry, [(0, _helpers.resolveToCwd)(filename)]);
}

/**
* Entry for dev server.
*/


function entryDev(filename, flags) {
var entry = buildEntryName(filename);
var host = flags.host === '::' ? 'localhost' : flags.host;

return {
app: [require.resolve('webpack-dev-server/client') + '?http://' + host + ':' + flags.port + '/', require.resolve('webpack/hot/dev-server'), (0, _helpers.resolveToCwd)(filename)]
};
return _defineProperty({}, entry, [require.resolve('webpack-dev-server/client') + '?http://' + host + ':' + flags.port + '/', require.resolve('webpack/hot/dev-server'), (0, _helpers.resolveToCwd)(filename)]);
}

/**
Expand Down
18 changes: 16 additions & 2 deletions src/lib/webpack/entry.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,26 @@
/* @flow */

import path from 'path';
import { resolveToCwd } from './helpers';

/**
* Build entry name from given filename.
*
* index.js -> index
* src/index.js -> index
* index.sth.js -> index
*/
export function buildEntryName(filename:string) : string {
return path.basename(filename).split('.')[0];
}

/**
* Entry for production build.
*/
export function entryProd(filename:string) : Entry {
const entry = buildEntryName(filename);
return {
app: [resolveToCwd(filename)]
[entry]: [resolveToCwd(filename)]
};
}

Expand All @@ -16,10 +29,11 @@ export function entryProd(filename:string) : Entry {
* Entry for dev server.
*/
export function entryDev(filename:string, flags:CLIFlags) : Entry {
const entry = buildEntryName(filename);
const host = flags.host === '::' ? 'localhost' : flags.host;

return {
app: [
[entry]: [
`${require.resolve('webpack-dev-server/client')}?http://${host}:${flags.port}/`,
require.resolve('webpack/hot/dev-server'),
resolveToCwd(filename)
Expand Down

0 comments on commit 2d2502a

Please sign in to comment.