Socket
Socket
Sign inDemoInstall

project-cfg

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

project-cfg - npm Package Compare versions

Comparing version 0.0.7 to 0.0.8

const/output.js

10

const/loaders.js

@@ -26,3 +26,3 @@ module.exports = {

`{
test: /\.jsx/,
test: /\.jsx$/,
use: [{

@@ -32,3 +32,11 @@ loader: 'babel-loader'

exclude: /node_modules/
}`,
BABEL:
`{
test: /\.js$/,
use: [{
loader: 'babel-loader'
}],
exclude: /node_modules/
}`
};

3

const/packages.js

@@ -20,4 +20,5 @@ module.exports = {

'style-loader': 'style-loader',
'sass-loader': 'sass-loader'
'sass-loader': 'sass-loader',
'node-sass': 'node-sass'
}
};

@@ -5,7 +5,7 @@ module.exports = {

'.js'
`,
`,
JSX:
`
'.jsx'
`
`
};

@@ -26,3 +26,3 @@ /*

resolve: {
modules: [
extensions: [
//start resolve

@@ -29,0 +29,0 @@ //end resolve

@@ -26,3 +26,3 @@ /*

resolve: {
modules: [
extensions: [
//start resolve

@@ -29,0 +29,0 @@ //end resolve

@@ -34,3 +34,3 @@ const path = require('path');

output.npm = npm;
}).then(() => {
return this.babelLoader.load();

@@ -37,0 +37,0 @@ }).then((babeljs) => {

const path = require('path');
const FileHelper = require('../../utils/FileHelper');
const normalize = require('../../utils/normalize');
const CONFIG_PATH = path.join(process.cwd(), 'package.json');

@@ -9,4 +10,9 @@

return JSON.parse(data.toString());
}).catch(() => {
return Promise.resolve({
name: normalize.snakeCase( path.basename(process.cwd()) ),
license: 'ISC'
});
});
}
};
const path = require('path');
const FileHelper = require('../../utils/FileHelper');
const normalize = require('../../utils/normalize');
const CONFIG_PATH = path.join(process.cwd(), 'package.json');

@@ -7,4 +8,12 @@

save(config, globalConfig) {
if(!config.name) {
config.name = normalize.snakeCase( path.basename(process.cwd()) );
}
if(!config.license) {
config.license = 'ISC';
}
return FileHelper.save(CONFIG_PATH, JSON.stringify(config, null, "\t"));
}
};

@@ -8,2 +8,3 @@ const path = require('path');

const RESOLVE = require('../../../const/resolve');
const OUTPUT = require('../../../const/output');
const StringUtils = require('../../../utils/StringUtils');

@@ -21,2 +22,3 @@

managePackage('sass-loader', config.sass);
managePackage('node-sass', config.sass);

@@ -31,20 +33,11 @@

}).then((data) => {
let loaders = (config.css || config.sass) ? LOADERS.CSS_STYLE + ',' : '';
loaders += config.sass ? LOADERS.SASS_STYLE + ',' : '';
loaders += config.jsx ? LOADERS.JSX + ',' : '';
data = appendConfigData(data, config, es6Enabled);
loaders = StringUtils.removeLast(loaders);
return saveWebpackConfigFile('dev', es6Enabled, data);
}).then(() => {
return loadWebpackConfigFile('prod', es6Enabled);
}).then((data) => {
data = appendConfigData(data, config, es6Enabled, true);
let entry = "\n\t\t\t'src/index.js'\n\t\t";
let resolve = RESOLVE.JS + ',';
resolve += config.jsx ? RESOLVE.JSX + ',' : '';
resolve = StringUtils.removeLast(resolve);
data = data.toString().replace(/(\/\/start rules)([\s\S]+?)(\/\/end rules)/gi, `$1\n\t\t\t${loaders}\n\t\t$3`);
data = data.toString().replace(/(\/\/start resolve)([\s\S]+?)(\/\/end resolve)/gi, `$1${resolve}$3`);
data = data.toString().replace(/(\/\/start entries)([\s\S]+?)(\/\/end entries)/gi, `$1${entry}$3`);
return saveWebpackConfigFile('dev', es6Enabled, data);
return saveWebpackConfigFile('prod', es6Enabled, data);
});

@@ -60,3 +53,36 @@ } else {

function appendConfigData(data, config, es6Enabled, production) {
"use strict";
let importArray = [];
if(es6Enabled) {
importArray.push('import path from \'path\';');
} else {
importArray.push('const path = require(\'path\')');
}
let importString = importArray.join("\n");
let loaders = (config.css || config.sass) ? LOADERS.CSS_STYLE + ',' : '';
loaders += config.sass ? LOADERS.SASS_STYLE + ',' : '';
loaders += config.jsx ? LOADERS.JSX + ',' : '';
loaders += es6Enabled ? LOADERS.BABEL + ',' : '';
loaders = StringUtils.removeLast(loaders);
let entry = "\n\t\t\t'./src/index.js'\n\t\t";
let resolve = RESOLVE.JS + ',';
resolve += config.jsx ? RESOLVE.JSX + ',' : '';
resolve = StringUtils.removeLast(resolve);
let output = OUTPUT.DEFAULT;
data = data.toString().replace(/(\/\/start imports)([\s\S]+?)(\/\/end imports)/gi, `$1\n${importString}\n$3`);
data = data.toString().replace(/(\/\/start rules)([\s\S]+?)(\/\/end rules)/gi, `$1\n\t\t\t${loaders}\n\t\t\t$3`);
data = data.toString().replace(/(\/\/start resolve)([\s\S]+?)(\/\/end resolve)/gi, `$1${resolve}$3`);
data = data.toString().replace(/(\/\/start entries)([\s\S]+?)(\/\/end entries)/gi, `$1${entry}$3`);
data = data.toString().replace(/(\/\/start output)([\s\S]+?)(\/\/end output)/gi, `$1${output}$3`);
return data;
}
function loadWebpackConfigFile(type, useEs6) {

@@ -63,0 +89,0 @@ let webpack = path.join(process.cwd(), 'webpack');

@@ -79,8 +79,13 @@ const path = require('path');

if(body.webpack.enabled && body.webpack.devServer) {
if(body.webpack.enabled) {
npmConfig.npm.scripts = npmConfig.npm.scripts || {};
let webpackDev = `./webpack/dev.webpack.${useEs6 ? 'babel.js' : 'js'}`;
if(body.webpack.devServer) {
let webpackDev = `./webpack/dev.webpack.${useEs6 ? 'babel.js' : 'js'}`;
npmConfig.npm.scripts.start = `webpack-dev-server --colors --progress --config ${webpackDev} --host 0.0.0.0`;
npmConfig.npm.scripts.start = `webpack-dev-server --colors --progress --config ${webpackDev} --host 0.0.0.0`;
}
let webpack = `./webpack/prod.webpack.${useEs6 ? 'babel.js' : 'js'}`;
npmConfig.npm.scripts.build = `webpack -p --colors --progress --config ${webpack}`;
}

@@ -87,0 +92,0 @@

{
"name": "project-cfg",
"version": "0.0.7",
"version": "0.0.8",
"description": "A helper-package for generating project structures.",

@@ -5,0 +5,0 @@ "bin": {

@@ -0,1 +1,4 @@

[![npm](https://img.shields.io/npm/v/project-cfg.svg?style=flat-square)](https://www.npmjs.com/package/project-cfg/)
[![npm](https://img.shields.io/npm/l/project-cfg.svg?style=flat-square)](https://gitlab.com/michaelsoftware/project-cfg/blob/master/LICENSE)
# project-cfg #

@@ -2,0 +5,0 @@ This package helps you to configure your babel/webpack-project.

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc