Skip to content

Commit

Permalink
archetype-react-app-dev: add eslint check to JS files (#204)
Browse files Browse the repository at this point in the history
  • Loading branch information
jchip authored Feb 23, 2017
1 parent 78b9a2e commit 505e7d3
Show file tree
Hide file tree
Showing 40 changed files with 360 additions and 324 deletions.
28 changes: 28 additions & 0 deletions packages/electrode-archetype-react-app-dev/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
extends:
- walmart/configurations/es6-node
parserOptions:
sourceType: module
rules:
strict:
- 'off'
- global
no-process-exit:
- 'off'
func-style:
- 'off'
global-require:
- 'off'
no-magic-numbers:
- 'off'
no-console:
- 'off'
quotes:
- error
- double
- avoidEscape: true
allowTemplateLiterals: true
max-len:
- 2
- 120
no-extra-parens: [0]
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
"use strict";

/* eslint-disable */

require("babel-polyfill");

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
"use strict";

/* eslint-disable */

var path = require("path");
var karmaConf = require("./karma.conf");

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
"use strict";

/* eslint-disable */

var path = require("path");

var webpackCfg = require("../webpack/webpack.config.test");
Expand All @@ -16,7 +19,7 @@ module.exports = function (config) {
files: [
MAIN_PATH
],
plugins : [
plugins: [
'karma-chrome-launcher',
'karma-coverage',
'karma-firefox-launcher',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
"use strict";

/* eslint-disable */

/*
* Karma Configuration: "watch" version.
*
Expand Down Expand Up @@ -28,7 +30,7 @@ module.exports = function (config) {
watched: true
};
})
)
)
});

};
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"use strict";

var chai = require("chai");
var sinonChai = require("sinon-chai");
var chaiShallowly = require("chai-shallowly");
const chai = require("chai");
const sinonChai = require("sinon-chai");
const chaiShallowly = require("chai-shallowly");

chai.use(sinonChai);
chai.use(chaiShallowly);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
"use strict";

var _ = require("lodash");
var fs = require("fs");
var glob = require("glob");
var webpack = require("webpack");
var archetype = require("../archetype");
var Path = archetype.Path;
const _ = require("lodash");
const fs = require("fs");
const glob = require("glob");
const webpack = require("webpack");
const archetype = require("../archetype");
const Path = archetype.Path;

module.exports = function (config) {
try {
var exists = fs.existsSync(Path.resolve(archetype.AppMode.src.client, "dll.config.js"));
var filenames = glob.sync(Path.resolve("dll", "js", "*-manifest.*.json"));
const exists = fs.existsSync(Path.resolve(archetype.AppMode.src.client, "dll.config.js"));
const filenames = glob.sync(Path.resolve("dll", "js", "*-manifest.*.json"));

if (exists && filenames.length) {
config.plugins = _.concat(config.plugins || [], filenames.map(function (filename) {
var dll = new webpack.DllReferencePlugin({
config.plugins = _.concat(config.plugins || [], filenames.map((filename) => {
const dll = new webpack.DllReferencePlugin({
context: config.context,
manifest: require(filename) // eslint-disable-line global-require
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"use strict";
var archetype = require("../archetype");
var mergeWebpackConfig = require("webpack-partial").default;
var Path = archetype.Path;
const archetype = require("../archetype");
const mergeWebpackConfig = require("webpack-partial").default;
const Path = archetype.Path;

var baseConfig = require("./base.js");
const baseConfig = require("./base.js");

var testConfig = {
const testConfig = {
module: {
/*
* This prevents webpack from running its parsers on any sinon files. Sinon breaks when it is
Expand Down
46 changes: 23 additions & 23 deletions packages/electrode-archetype-react-app-dev/config/webpack/base.js
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
"use strict";

var _ = require("lodash");
var fs = require("fs");
var webpack = require("webpack");
var mergeWebpackConfig = require("webpack-partial").default;
const _ = require("lodash");
const fs = require("fs");
const webpack = require("webpack");
const mergeWebpackConfig = require("webpack-partial").default;

// config partials
var babelConfig = require("./partial/babel");
var extractStylesConfig = require("./partial/extract");
var fontsConfig = require("./partial/fonts");
var imagesConfig = require("./partial/images");
var statsConfig = require("./partial/stats");
var isomorphicConfig = require("./partial/isomorphic");
var pwaConfig = require("./partial/pwa");
var archetype = require("../archetype");
var Path = archetype.Path;
var AppMode = archetype.AppMode;
var context = Path.resolve(AppMode.src.client);
const babelConfig = require("./partial/babel");
const extractStylesConfig = require("./partial/extract");
const fontsConfig = require("./partial/fonts");
const imagesConfig = require("./partial/images");
const statsConfig = require("./partial/stats");
const isomorphicConfig = require("./partial/isomorphic");
const pwaConfig = require("./partial/pwa");
const archetype = require("../archetype");
const Path = archetype.Path;
const AppMode = archetype.AppMode;
const context = Path.resolve(AppMode.src.client);

var archetypeNodeModules = Path.join(archetype.dir, "node_modules");
var archetypeDevNodeModules = Path.join(archetype.devDir, "node_modules");
var inspectpack = process.env.INSPECTPACK_DEBUG === "true";
const archetypeNodeModules = Path.join(archetype.dir, "node_modules");
const archetypeDevNodeModules = Path.join(archetype.devDir, "node_modules");
const inspectpack = process.env.INSPECTPACK_DEBUG === "true";

var optionalRequire = require("optional-require")(require);
const optionalRequire = require("optional-require")(require);

/* eslint-disable func-style */

Expand All @@ -36,18 +36,18 @@ var optionalRequire = require("optional-require")(require);
* vanilla JS file as entry.
*/
function appEntry() {
var entryPath = Path.join(context, "entry.config.js");
const entryPath = Path.join(context, "entry.config.js");

const entry = optionalRequire(entryPath,
"Entry point configuration is not found, using default entry point...");

return entry ? entry :
return entry ||
fs.existsSync(Path.join(context, "app.js")) ? "./app.js" : "./app.jsx";
}

var baseConfig = {
const baseConfig = {
cache: true,
context: context,
context,
plugins: [
new webpack.LoaderOptionsPlugin({
options: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* This helper attempts to return a root level webpack config for the given file.
*/

var archetype = require("../archetype");
var optionalRequire = require("optional-require")(require);
const archetype = require("../archetype");
const optionalRequire = require("optional-require")(require);

module.exports = function (rootConfigFileName) {
return optionalRequire(archetype.Path.resolve(rootConfigFileName)) || {};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
"use strict";

var mergeWebpackConfig = require("webpack-partial").default;
var archetype = require("../../archetype");
var AppMode = archetype.AppMode;
var Path = archetype.Path;
var _ = require("lodash");
const mergeWebpackConfig = require("webpack-partial").default;
const archetype = require("../../archetype");
const AppMode = archetype.AppMode;
const Path = archetype.Path;
const _ = require("lodash");

module.exports = function (babel) {
// regex \b for word boundaries
var babelExcludeRegex = new RegExp(`(node_modules|\\b${Path.join(AppMode.src.client, "vendor")}\\b)`);
const babelExcludeRegex = new RegExp(`(node_modules|\\b${Path.join(AppMode.src.client, "vendor")}\\b)`);
return function (config) {
var hmr = process.env.HMR !== undefined;
var babelLoader = {
const hmr = process.env.HMR !== undefined;
const babelLoader = {
test: /\.jsx?$/,
exclude: babelExcludeRegex,
use: [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict";

var ispartaLoader = require.resolve("isparta-loader");
var mergeWebpackConfig = require("webpack-partial").default;
const ispartaLoader = require.resolve("isparta-loader");
const mergeWebpackConfig = require("webpack-partial").default;

module.exports = function () {
return function (config) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict";

var mergeWebpackConfig = require("webpack-partial").default;
var DefinePlugin = require("webpack").DefinePlugin;
const mergeWebpackConfig = require("webpack-partial").default;
const DefinePlugin = require("webpack").DefinePlugin;

module.exports = function () {
return function (config) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,43 +1,44 @@
"use strict";

var mergeWebpackConfig = require("webpack-partial").default;
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var WebpackReporter = require("electrode-webpack-reporter");
var webpack = require("webpack");
var Fs = require("fs");
var archetype = require("../../archetype");
var Path = archetype.Path;
const mergeWebpackConfig = require("webpack-partial").default;
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const WebpackReporter = require("electrode-webpack-reporter");
const webpack = require("webpack");
const Fs = require("fs");
const archetype = require("../../archetype");
const Path = archetype.Path;

function notifyBundleValid() {
setTimeout(function () {
setTimeout(() => {
Fs.writeFileSync(Path.resolve(archetype.eTmpDir, "bundle.valid.log"), `${Date.now()}`);
}, 100);
}

/* eslint max-statements: 0 */
function webpackDevReporter(reporterOptions) {
var state = reporterOptions.state;
var stats = reporterOptions.stats;
var options = reporterOptions.options;
const state = reporterOptions.state;
const stats = reporterOptions.stats;
const options = reporterOptions.options;

if (state) {
var displayStats = (!options.quiet && options.stats !== false);
let displayStats = (!options.quiet && options.stats !== false);

if (displayStats && !(stats.hasErrors() || stats.hasWarnings()) && options.noInfo) {
displayStats = false;
}

if (displayStats) {
console.log(stats.toString(options.stats))
console.log(stats.toString(options.stats));
}

if (!options.noInfo && !options.quiet) {
var errMsg = ".";
let errMsg = ".";
if (!stats.hasErrors()) {
notifyBundleValid();
} else {
errMsg = " but there were errors."
errMsg = " but there were errors.";
}
console.info("webpack: bundle is now VALID" + errMsg);
console.info(`webpack: bundle is now VALID ${errMsg}`);
}
} else {
console.info("webpack: bundle is now INVALID.");
Expand All @@ -56,7 +57,7 @@ module.exports = function () {
},
plugins: [
new webpack.SourceMapDevToolPlugin("[file].map"),
new ExtractTextPlugin({filename: "[name].style.css"}),
new ExtractTextPlugin({ filename: "[name].style.css" }),
new webpack.NoEmitOnErrorsPlugin()
]
});
Expand Down
Loading

0 comments on commit 505e7d3

Please sign in to comment.