Sha256: 3d4902d758b973d77e363cbaee487dc6541277a39d49e138a91da37c6763839e

Contents?: true

Size: 1.14 KB

Versions: 14

Compression:

Stored size: 1.14 KB

Contents

const webpack = require("webpack");
const MemoryFS = require("memory-fs");
const thenify = require("thenify");
const path = require("path");

const createTrackLoader = () => {
  const filesTracked = {};
  return [
    filesTracked,
    (source) => {
      filesTracked[source.resource] = true;
      return source;
    },
  ];
};

const node_modules = path.resolve("node_modules");
const node_modules_included = path.resolve("node_modules/included");
const app_javascript = path.resolve("app/javascript");

const createInMemoryFs = () => {
  const fs = new MemoryFS();

  fs.mkdirpSync(node_modules);
  fs.mkdirpSync(node_modules_included);
  fs.mkdirpSync(app_javascript);

  return fs;
};

const createTestCompiler = (config, fs = createInMemoryFs()) => {
  Object.values(config.entry).forEach((file) => {
    fs.writeFileSync(file, "console.log(1);");
  });

  const compiler = webpack(config);
  compiler.run = thenify(compiler.run);
  compiler.inputFileSystem = fs;
  compiler.outputFileSystem = fs;
  return compiler;
};

module.exports = {
  createTrackLoader,
  node_modules,
  node_modules_included,
  app_javascript,
  createInMemoryFs,
  createTestCompiler,
};

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
shakapacker-7.2.3 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.3.0.beta.1 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.2.2 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.2.1 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.2.0 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.2.0.rc.0 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.1.0 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.0.3 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.0.2 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.0.1 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.0.0 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.0.0.rc.2 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.0.0.rc.1 package/rules/__tests__/__utils__/webpack.js
shakapacker-7.0.0.rc.0 package/rules/__tests__/__utils__/webpack.js