Socket
Socket
Sign inDemoInstall

expose-loader

Package Overview
Dependencies
Maintainers
8
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

expose-loader - npm Package Compare versions

Comparing version 1.0.3 to 2.0.0

8

CHANGELOG.md

@@ -5,2 +5,10 @@ # Changelog

## [2.0.0](https://github.com/webpack-contrib/expose-loader/compare/v1.0.3...v2.0.0) (2021-02-02)
### ⚠ BREAKING CHANGES
* minimum supported `webpack` version is `5`
* inline syntax was changed: `[]` is no longer supported (i.e. `import $ from "expose-loader?exposes[]=$&exposes[]=jQuery!jquery`), please use `,` comma separator (i.e. `import $ from "expose-loader?exposes=$,jQuery!jquery`)
### [1.0.3](https://github.com/webpack-contrib/expose-loader/compare/v1.0.2...v1.0.3) (2020-11-26)

@@ -7,0 +15,0 @@

18

dist/index.js

@@ -8,6 +8,2 @@ "use strict";

var _loaderUtils = require("loader-utils");
var _schemaUtils = require("schema-utils");
var _options = _interopRequireDefault(require("./options.json"));

@@ -24,7 +20,3 @@

function loader() {
const options = (0, _loaderUtils.getOptions)(this);
(0, _schemaUtils.validate)(_options.default, options, {
name: "Expose Loader",
baseDataPath: "options"
});
const options = this.getOptions(_options.default);
const callback = this.async();

@@ -62,6 +54,6 @@ let exposes;

const newRequest = (0, _utils.contextify)(this.context, (0, _loaderUtils.getRemainingRequest)(this));
const stringifiedNewRequest = (0, _loaderUtils.stringifyRequest)(this, `-!${newRequest}`);
const newRequest = (0, _utils.contextify)(this.context, this.remainingRequest);
const stringifiedNewRequest = (0, _utils.stringifyRequest)(this, `-!${newRequest}`);
let code = `var ___EXPOSE_LOADER_IMPORT___ = require(${stringifiedNewRequest});\n`;
code += `var ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(${(0, _loaderUtils.stringifyRequest)(this, require.resolve("./runtime/getGlobalThis.js"))});\n`;
code += `var ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(${(0, _utils.stringifyRequest)(this, require.resolve("./runtime/getGlobalThis.js"))});\n`;
code += `var ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\n`;

@@ -75,3 +67,3 @@

} = expose;
const globalNameInterpolated = globalName.map(item => (0, _loaderUtils.interpolateName)(this, item, {}));
const globalNameInterpolated = globalName.map(item => (0, _utils.interpolateName)(this, item, {}));

@@ -78,0 +70,0 @@ if (typeof moduleLocalName !== "undefined") {

{
"title": "Expose Loader options",
"definitions": {

@@ -3,0 +4,0 @@ "ObjectPattern": {

@@ -9,2 +9,4 @@ "use strict";

exports.contextify = contextify;
exports.stringifyRequest = stringifyRequest;
exports.interpolateName = interpolateName;

@@ -83,8 +85,9 @@ var _path = _interopRequireDefault(require("path"));

function getExposes(items) {
let result = [];
let result;
const exposeItems = typeof items === "string" && items.includes(",") ? items.split(",") : items;
if (typeof items === "string") {
result.push(resolveExposes(items));
if (typeof exposeItems === "string") {
result = [resolveExposes(exposeItems)];
} else {
result = [].concat(items).map(item => resolveExposes(item));
result = [].concat(exposeItems).map(item => resolveExposes(item));
}

@@ -117,2 +120,37 @@

}).join("!");
}
function isAbsolutePath(str) {
return _path.default.posix.isAbsolute(str) || _path.default.win32.isAbsolute(str);
}
function stringifyRequest(loaderContext, request) {
const splitted = request.split("!");
const context = loaderContext.context || loaderContext.options && loaderContext.options.context;
return JSON.stringify(splitted.map(part => {
// First, separate singlePath from query, because the query might contain paths again
const splittedPart = part.match(/^(.*?)(\?.*)/);
const query = splittedPart ? splittedPart[2] : "";
let singlePath = splittedPart ? splittedPart[1] : part;
if (isAbsolutePath(singlePath) && context) {
singlePath = _path.default.relative(context, singlePath);
}
return singlePath.replace(/\\/g, "/") + query;
}).join("!"));
}
function interpolateName(loaderContext, filename) {
let basename = "file";
if (loaderContext.resourcePath) {
const parsed = _path.default.parse(loaderContext.resourcePath);
if (parsed.dir) {
basename = parsed.name;
}
}
return filename.replace(/\[name\]/gi, () => basename);
}
{
"name": "expose-loader",
"version": "1.0.3",
"version": "2.0.0",
"description": "expose loader module for webpack",

@@ -41,12 +41,8 @@ "license": "MIT",

"peerDependencies": {
"webpack": "^4.0.0 || ^5.0.0"
"webpack": "^5.0.0"
},
"dependencies": {
"loader-utils": "^2.0.0",
"schema-utils": "^3.0.0"
},
"devDependencies": {
"@babel/cli": "^7.12.8",
"@babel/core": "^7.12.9",
"@babel/preset-env": "^7.12.7",
"@babel/cli": "^7.12.10",
"@babel/core": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@commitlint/cli": "^11.0.0",

@@ -57,21 +53,20 @@ "@commitlint/config-conventional": "^11.0.0",

"babel-jest": "^26.6.3",
"babel-loader": "^8.2.1",
"cross-env": "^7.0.2",
"babel-loader": "^8.2.2",
"cross-env": "^7.0.3",
"del": "^6.0.0",
"del-cli": "^3.0.1",
"eslint": "^7.14.0",
"eslint-config-prettier": "^6.15.0",
"eslint": "^7.19.0",
"eslint-config-prettier": "^7.2.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-prettier": "^3.1.4",
"husky": "^4.3.0",
"husky": "^4.3.8",
"jest": "^26.6.3",
"lint-staged": "^10.5.2",
"lint-staged": "^10.5.3",
"memfs": "^3.2.0",
"npm-run-all": "^4.1.5",
"prettier": "^2.2.0",
"prettier": "^2.2.1",
"react": "^17.0.1",
"rx": "^4.1.0",
"standard-version": "^9.0.0",
"standard-version": "^9.1.0",
"styled-components": "^5.2.1",
"webpack": "^5.6.0"
"webpack": "^5.19.0"
},

@@ -78,0 +73,0 @@ "keywords": [

@@ -39,3 +39,3 @@ <div align="center">

```js
import $ from "expose-loader?exposes[]=$&exposes[]=jQuery!jquery";
import $ from "expose-loader?exposes=$,jQuery!jquery";
//

@@ -55,3 +55,3 @@ // Adds the `jquery` to the global object under the names `$` and `jQuery`

reduce,
} from "expose-loader?exposes[]=_.map|map&exposes[]=_.reduce|reduce!underscore";
} from "expose-loader?exposes=_.map|map,_.reduce|reduce!underscore";
//

@@ -58,0 +58,0 @@ // Adds the `map` and `reduce` method from `underscore` to the global object under the name `_.map` and `_.reduce`

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