Skip to content

Commit

Permalink
feat: remove cjs wrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 16, 2021
1 parent 231cc46 commit 5bb33a9
Show file tree
Hide file tree
Showing 20 changed files with 221 additions and 141 deletions.
14 changes: 8 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,33 @@
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"main": "dist/cjs.js",
"types": "types/cjs.d.ts",
"main": "dist/index.js",
"types": "types/index.d.ts",
"engines": {
"node": ">= 12.13.0"
},
"scripts": {
"commitlint": "commitlint --from=master",
"security": "npm audit --production",
"fmt:check": "prettier \"{**/*,*}.{js,json,md,yml,css}\" --list-different",
"lint:js": "eslint --cache src test",
"lint:types": "tsc --pretty --noEmit",
"lint": "npm-run-all lint:js fmt:check",
"fmt": "npm run fmt:check -- --write",
"fix:js": "npm run lint:js -- --fix",
"fix": "npm-run-all fix:js fmt",
"prepare": "husky install && npm run build",
"clean": "del-cli dist types",
"prebuild": "npm run clean",
"build:types": "tsc --declaration --emitDeclarationOnly --outDir types && prettier \"types/**/*.ts\" --write",
"build:code": "cross-env NODE_ENV=production babel src -d dist --copy-files",
"build": "npm-run-all -p \"build:**\"",
"release": "standard-version",
"security": "npm audit --production",
"test:only": "cross-env NODE_ENV=test jest",
"test:watch": "npm run test:only -- --watch",
"test:coverage": "npm run test:only -- --collectCoverageFrom=\"src/**/*.js\" --coverage",
"pretest": "npm run lint",
"test": "npm run test:coverage"
"test": "npm run test:coverage",
"prepare": "husky install && npm run build",
"release": "standard-version"
},
"files": [
"dist",
Expand Down
3 changes: 0 additions & 3 deletions src/cjs.js

This file was deleted.

22 changes: 12 additions & 10 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { validate } from "schema-utils";
import mime from "mime-types";
const { validate } = require("schema-utils");
const mime = require("mime-types");

import middleware from "./middleware";
import getFilenameFromUrl from "./utils/getFilenameFromUrl";
import setupHooks from "./utils/setupHooks";
import setupWriteToDisk from "./utils/setupWriteToDisk";
import setupOutputFileSystem from "./utils/setupOutputFileSystem";
import ready from "./utils/ready";
import schema from "./options.json";
const middleware = require("./middleware");
const getFilenameFromUrl = require("./utils/getFilenameFromUrl");
const setupHooks = require("./utils/setupHooks");
const setupWriteToDisk = require("./utils/setupWriteToDisk");
const setupOutputFileSystem = require("./utils/setupOutputFileSystem");
const ready = require("./utils/ready");
const schema = require("./options.json");

const noop = () => {};

Expand Down Expand Up @@ -146,7 +146,7 @@ const noop = () => {};
* @param {Options<Request, Response>} [options]
* @returns {API<Request, Response>}
*/
export default function wdm(compiler, options = {}) {
function wdm(compiler, options = {}) {
validate(/** @type {Schema} */ (schema), options, {
name: "Dev Middleware",
baseDataPath: "options",
Expand Down Expand Up @@ -277,3 +277,5 @@ export default function wdm(compiler, options = {}) {

return instance;
}

module.exports = wdm;
18 changes: 10 additions & 8 deletions src/middleware.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import path from "path";
const path = require("path");

import mime from "mime-types";
import parseRange from "range-parser";
const mime = require("mime-types");
const parseRange = require("range-parser");

import getFilenameFromUrl from "./utils/getFilenameFromUrl";
import {
const getFilenameFromUrl = require("./utils/getFilenameFromUrl");
const {
getHeaderNames,
getHeaderFromRequest,
getHeaderFromResponse,
setHeaderForResponse,
setStatusCode,
send,
} from "./utils/compatibleAPI";
import ready from "./utils/ready";
} = require("./utils/compatibleAPI");
const ready = require("./utils/ready");

/** @typedef {import("./index.js").NextFunction} NextFunction */
/** @typedef {import("./index.js").IncomingMessage} IncomingMessage */
Expand Down Expand Up @@ -58,7 +58,7 @@ const BYTES_RANGE_REGEXP = /^ *bytes/i;
* @param {import("./index.js").Context<Request, Response>} context
* @return {import("./index.js").Middleware<Request, Response>}
*/
export default function wrapper(context) {
function wrapper(context) {
return async function middleware(req, res, next) {
const acceptedMethods = context.options.methods || ["GET", "HEAD"];

Expand Down Expand Up @@ -270,3 +270,5 @@ export default function wrapper(context) {
}
};
}

module.exports = wrapper;
12 changes: 7 additions & 5 deletions src/utils/getFilenameFromUrl.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import path from "path";
import { parse } from "url";
import querystring from "querystring";
const path = require("path");
const { parse } = require("url");
const querystring = require("querystring");

import getPaths from "./getPaths";
const getPaths = require("./getPaths");

/** @typedef {import("../index.js").IncomingMessage} IncomingMessage */
/** @typedef {import("../index.js").ServerResponse} ServerResponse */
Expand Down Expand Up @@ -49,7 +49,7 @@ const memoizedParse = mem(parse);
* @param {string} url
* @returns {string | undefined}
*/
export default function getFilenameFromUrl(context, url) {
function getFilenameFromUrl(context, url) {
const { options } = context;
const paths = getPaths(context);

Expand Down Expand Up @@ -142,3 +142,5 @@ export default function getFilenameFromUrl(context, url) {
// eslint-disable-next-line consistent-return
return foundFilename;
}

module.exports = getFilenameFromUrl;
4 changes: 3 additions & 1 deletion src/utils/getPaths.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* @template {ServerResponse} Response
* @param {import("../index.js").Context<Request, Response>} context
*/
export default function getPaths(context) {
function getPaths(context) {
const { stats, options } = context;
/** @type {Stats[]} */
const childStats =
Expand All @@ -35,3 +35,5 @@ export default function getPaths(context) {

return publicPaths;
}

module.exports = getPaths;
4 changes: 3 additions & 1 deletion src/utils/ready.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* @param {Request} [req]
* @returns {void}
*/
export default function ready(context, callback, req) {
function ready(context, callback, req) {
if (context.state) {
callback(context.stats);

Expand All @@ -22,3 +22,5 @@ export default function ready(context, callback, req) {

context.callbacks.push(callback);
}

module.exports = ready;
8 changes: 5 additions & 3 deletions src/utils/setupHooks.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import webpack from "webpack";
import { isColorSupported } from "colorette";
const webpack = require("webpack");
const { isColorSupported } = require("colorette");

/** @typedef {import("webpack").Configuration} Configuration */
/** @typedef {import("webpack").Compiler} Compiler */
Expand All @@ -20,7 +20,7 @@ import { isColorSupported } from "colorette";
* @template {ServerResponse} Response
* @param {import("../index.js").Context<Request, Response>} context
*/
export default function setupHooks(context) {
function setupHooks(context) {
function invalid() {
if (context.state) {
context.logger.log("Compilation starting...");
Expand Down Expand Up @@ -198,3 +198,5 @@ export default function setupHooks(context) {
context.compiler.hooks.invalid.tap("webpack-dev-middleware", invalid);
context.compiler.hooks.done.tap("webpack-dev-middleware", done);
}

module.exports = setupHooks;
8 changes: 5 additions & 3 deletions src/utils/setupOutputFileSystem.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import path from "path";
const path = require("path");

import { createFsFromVolume, Volume } from "memfs";
const { createFsFromVolume, Volume } = require("memfs");

/** @typedef {import("webpack").MultiCompiler} MultiCompiler */
/** @typedef {import("../index.js").IncomingMessage} IncomingMessage */
Expand All @@ -11,7 +11,7 @@ import { createFsFromVolume, Volume } from "memfs";
* @template {ServerResponse} Response
* @param {import("../index.js").Context<Request, Response>} context
*/
export default function setupOutputFileSystem(context) {
function setupOutputFileSystem(context) {
let outputFileSystem;

if (context.options.outputFileSystem) {
Expand Down Expand Up @@ -52,3 +52,5 @@ export default function setupOutputFileSystem(context) {
// eslint-disable-next-line no-param-reassign
context.outputFileSystem = outputFileSystem;
}

module.exports = setupOutputFileSystem;
8 changes: 5 additions & 3 deletions src/utils/setupWriteToDisk.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import fs from "fs";
import path from "path";
const fs = require("fs");
const path = require("path");

/** @typedef {import("webpack").Compiler} Compiler */
/** @typedef {import("webpack").MultiCompiler} MultiCompiler */
Expand All @@ -12,7 +12,7 @@ import path from "path";
* @template {ServerResponse} Response
* @param {import("../index.js").Context<Request, Response>} context
*/
export default function setupWriteToDisk(context) {
function setupWriteToDisk(context) {
/**
* @type {Compiler[]}
*/
Expand Down Expand Up @@ -113,3 +113,5 @@ export default function setupWriteToDisk(context) {
);
}
}

module.exports = setupWriteToDisk;
8 changes: 0 additions & 8 deletions test/cjs.test.js

This file was deleted.

3 changes: 0 additions & 3 deletions types/cjs.d.ts

This file was deleted.

Loading

0 comments on commit 5bb33a9

Please sign in to comment.