Skip to content
Merged
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
33 changes: 16 additions & 17 deletions webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const babel = {
extensions: ['.njs', '.js', '.nts', '.ts']
},
use: {
loader: 'babel-loader',
loader: require.resolve('babel-loader'),
options: {
"presets": [
["@babel/preset-env", { "targets": { node: "10" } }]
Expand All @@ -45,7 +45,7 @@ const nullstackJavascript = {
extensions: ['.njs', '.js', '.nts', '.ts']
},
use: {
loader: 'babel-loader',
loader: require.resolve('babel-loader'),
options: {
"presets": [
["@babel/preset-env", { "targets": { node: "10" } }],
Expand All @@ -70,7 +70,7 @@ const nullstackTypescript = {
extensions: ['.njs', '.js', '.nts', '.ts']
},
use: {
loader: 'babel-loader',
loader: require.resolve('babel-loader'),
options: {
"presets": [
["@babel/preset-env", { "targets": { node: "10" } }],
Expand All @@ -89,9 +89,9 @@ const nullstackTypescript = {
};

function server(env, argv) {
const dir = argv.input || '../..';
const dir = argv.input ? path.join(__dirname, argv.input) : process.cwd();
const icons = {};
const publicFiles = readdirSync(path.join(__dirname, dir, 'public'));
const publicFiles = readdirSync(path.join(dir, 'public'));
for (const file of publicFiles) {
if (file.startsWith('icon-')) {
const size = file.split('x')[1].split('.')[0];
Expand All @@ -113,7 +113,7 @@ function server(env, argv) {
mode: argv.environment,
entry: './server.js',
output: {
path: path.resolve(__dirname, dir + '/' + folder + '/'),
path: path.join(dir, folder),
filename: 'server.js',
libraryTarget: 'umd'
},
Expand All @@ -136,7 +136,7 @@ function server(env, argv) {
rules: [
{
test: /nullstack.js$/,
loader: 'string-replace-loader',
loader: require.resolve('string-replace-loader'),
options: {
multiple: [
{ search: '{{NULLSTACK_ENVIRONMENT_NAME}}', replace: 'server', flags: 'ig' }
Expand All @@ -145,7 +145,7 @@ function server(env, argv) {
},
{
test: /environment.js$/,
loader: 'string-replace-loader',
loader: require.resolve('string-replace-loader'),
options: {
multiple: [
{ search: '{{NULLSTACK_ENVIRONMENT_KEY}}', replace: buildKey, flags: 'ig' }
Expand All @@ -154,7 +154,7 @@ function server(env, argv) {
},
{
test: /project.js$/,
loader: 'string-replace-loader',
loader: require.resolve('string-replace-loader'),
options: {
multiple: [
{ search: '{{NULLSTACK_PROJECT_ICONS}}', replace: JSON.stringify(icons), flags: 'ig' }
Expand All @@ -174,7 +174,7 @@ function server(env, argv) {
{
test: /\.s?[ac]ss$/,
use: [
{ loader: 'ignore-loader' }
{ loader: require.resolve('ignore-loader') }
]
},
nullstackTypescript,
Expand All @@ -199,7 +199,7 @@ function server(env, argv) {
}

function client(env, argv) {
const dir = argv.input || '../..';
const dir = argv.input ? path.join(__dirname, argv.input) : process.cwd();
const folder = argv.environment === 'development' ? '.development' : '.production';
const devtool = argv.environment === 'development' ? 'inline-cheap-module-source-map' : false;
const minimize = argv.environment !== 'development';
Expand All @@ -208,7 +208,7 @@ function client(env, argv) {
liveReload = {
test: /liveReload.js$/,
use: [
{ loader: 'ignore-loader' }
{ loader: require.resolve('ignore-loader') }
]
}
}
Expand All @@ -225,7 +225,7 @@ function client(env, argv) {
entry: './client.js',
output: {
publicPath: `/`,
path: path.resolve(__dirname, dir + '/' + folder + '/'),
path: path.join(dir, folder),
filename: 'client.js'
},
optimization: {
Expand All @@ -243,10 +243,9 @@ function client(env, argv) {
stats: 'errors-only',
module: {
rules: [

{
test: /nullstack.js$/,
loader: 'string-replace-loader',
loader: require.resolve('string-replace-loader'),
options: {
multiple: [
{ search: '{{NULLSTACK_ENVIRONMENT_NAME}}', replace: 'client', flags: 'ig' }
Expand All @@ -271,8 +270,8 @@ function client(env, argv) {
test: /\.s?[ac]ss$/,
use: [
MiniCssExtractPlugin.loader,
{ loader: 'css-loader', options: { url: false } },
{ loader: 'sass-loader' }
{ loader: require.resolve('css-loader'), options: { url: false } },
{ loader: require.resolve('sass-loader') }
],
},
liveReload,
Expand Down