New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

gatsby-remark-code-repls

Package Overview
Dependencies
Maintainers
1
Versions
334
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gatsby-remark-code-repls - npm Package Compare versions

Comparing version 1.1.0-alpha.03b9df85 to 1.1.0-alpha.2b695217

97

default-redirect-template.js
"use strict";
exports.__esModule = true;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
exports.__esModule = true;
exports.default = void 0;
var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _react = _interopRequireWildcard(require("react"));
var _inherits2 = require("babel-runtime/helpers/inherits");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _inherits3 = _interopRequireDefault(_inherits2);
var GatsbyRemarkCodeReplsRedirect =
/*#__PURE__*/
function (_Component) {
(0, _inheritsLoose2.default)(GatsbyRemarkCodeReplsRedirect, _Component);
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var GatsbyRemarkCodeReplsRedirect = function (_Component) {
(0, _inherits3.default)(GatsbyRemarkCodeReplsRedirect, _Component);
function GatsbyRemarkCodeReplsRedirect() {
(0, _classCallCheck3.default)(this, GatsbyRemarkCodeReplsRedirect);
return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments));
return _Component.apply(this, arguments) || this;
}
GatsbyRemarkCodeReplsRedirect.prototype.componentDidMount = function componentDidMount() {
var _proto = GatsbyRemarkCodeReplsRedirect.prototype;
_proto.componentDidMount = function componentDidMount() {
this.form.submit();
};
GatsbyRemarkCodeReplsRedirect.prototype.render = function render() {
var _this2 = this;
_proto.render = function render() {
var _this = this;
var _props$pathContext = this.props.pathContext,
action = _props$pathContext.action,
payload = _props$pathContext.payload;
return _react2.default.createElement(
"form",
{
style: { paddingBottom: "50px" },
ref: function ref(form) {
_this2.form = form;
},
action: action,
method: "POST"
var _props$pageContext = this.props.pageContext,
action = _props$pageContext.action,
payload = _props$pageContext.payload;
return _react.default.createElement("form", {
style: {
paddingBottom: "50px"
},
_react2.default.createElement("input", { type: "hidden", name: "data", value: payload }),
_react2.default.createElement(
"p",
null,
"Not automatically redirecting?"
),
_react2.default.createElement(
"p",
null,
_react2.default.createElement("input", { type: "submit", value: "Click here" })
)
);
ref: function ref(form) {
_this.form = form;
},
action: action,
method: "POST"
}, _react.default.createElement("input", {
type: "hidden",
name: "data",
value: payload
}), _react.default.createElement("p", null, "Not automatically redirecting?"), _react.default.createElement("p", null, _react.default.createElement("input", {
type: "submit",
value: "Click here"
})));
};

@@ -75,8 +60,8 @@

GatsbyRemarkCodeReplsRedirect.propTypes = {
pathContext: _propTypes2.default.shape({
action: _propTypes2.default.string.isRequired,
payload: _propTypes2.default.object.isRequired
pageContext: _propTypes.default.shape({
action: _propTypes.default.string.isRequired,
payload: _propTypes.default.object.isRequired
}).isRequired
};
exports.default = GatsbyRemarkCodeReplsRedirect;
var _default = GatsbyRemarkCodeReplsRedirect;
exports.default = _default;
"use strict";
var _stringify = require("babel-runtime/core-js/json/stringify");
var _JSON$stringify = require("@babel/runtime/core-js/json/stringify");
var _stringify2 = _interopRequireDefault(_stringify);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var fs = require("fs");

@@ -16,2 +12,3 @@

var recursiveReaddir = require("recursive-readdir-synchronous");
var normalizePath = require("normalize-path");

@@ -24,14 +21,14 @@

exports.createPages = function (_ref) {
var boundActionCreators = _ref.boundActionCreators;
exports.createPages = function (_ref, _temp) {
var actions = _ref.actions;
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
var _ref2 = _temp === void 0 ? {} : _temp,
_ref2$directory = _ref2.directory,
directory = _ref2$directory === undefined ? OPTION_DEFAULT_LINK_TEXT : _ref2$directory,
directory = _ref2$directory === void 0 ? OPTION_DEFAULT_LINK_TEXT : _ref2$directory,
_ref2$externals = _ref2.externals,
externals = _ref2$externals === undefined ? [] : _ref2$externals,
externals = _ref2$externals === void 0 ? [] : _ref2$externals,
_ref2$html = _ref2.html,
html = _ref2$html === undefined ? OPTION_DEFAULT_HTML : _ref2$html,
html = _ref2$html === void 0 ? OPTION_DEFAULT_HTML : _ref2$html,
_ref2$redirectTemplat = _ref2.redirectTemplate,
redirectTemplate = _ref2$redirectTemplat === undefined ? OPTION_DEFAULT_REDIRECT_TEMPLATE_PATH : _ref2$redirectTemplat;
redirectTemplate = _ref2$redirectTemplat === void 0 ? OPTION_DEFAULT_REDIRECT_TEMPLATE_PATH : _ref2$redirectTemplat;

@@ -42,5 +39,4 @@ if (!directory.endsWith("/")) {

var createPage = boundActionCreators.createPage;
var createPage = actions.createPage;
if (!fs.existsSync(directory)) {

@@ -52,7 +48,7 @@ throw Error("Invalid REPL directory specified: \"" + directory + "\"");

throw Error("Invalid REPL redirectTemplate specified: \"" + redirectTemplate + "\"");
}
// TODO We could refactor this to use 'recursive-readdir' instead,
} // TODO We could refactor this to use 'recursive-readdir' instead,
// And wrap with Promise.all() to execute createPage() in parallel.
// I'd need to find a way to reliably test error handling though.
var files = recursiveReaddir(directory);

@@ -62,3 +58,2 @@

console.warn("Specified REPL directory \"" + directory + "\" contains no files");
return;

@@ -70,8 +65,8 @@ }

var slug = file.substring(0, file.length - extname(file).length).replace(new RegExp("^" + directory), "redirect-to-codepen/");
var code = fs.readFileSync(file, "utf8");
var code = fs.readFileSync(file, "utf8"); // Codepen configuration.
// https://blog.codepen.io/documentation/api/prefill/
// Codepen configuration.
// https://blog.codepen.io/documentation/api/prefill/
var action = "https://codepen.io/pen/define";
var payload = (0, _stringify2.default)({
var payload = _JSON$stringify({
editors: "0010",

@@ -78,0 +73,0 @@ html: html,

"use strict";
var _stringify = require("babel-runtime/core-js/json/stringify");
var _JSON$stringify = require("@babel/runtime/core-js/json/stringify");
var _stringify2 = _interopRequireDefault(_stringify);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var URI = require("urijs");
var fs = require("fs");
var LZString = require("lz-string");

@@ -18,2 +15,3 @@

var map = require("unist-util-map");
var normalizePath = require("normalize-path");

@@ -27,5 +25,3 @@

PROTOCOL_CODE_SANDBOX = _require2.PROTOCOL_CODE_SANDBOX,
PROTOCOL_RAMDA = _require2.PROTOCOL_RAMDA;
// Matches compression used in Babel and CodeSandbox REPLs
PROTOCOL_RAMDA = _require2.PROTOCOL_RAMDA; // Matches compression used in Babel and CodeSandbox REPLs
// https://github.com/babel/website/blob/master/js/repl/UriUtils.js

@@ -40,5 +36,5 @@

function convertNodeToLink(node, text, href, target) {
target = target ? "target=\"" + target + "\" rel=\"noreferrer\"" : "";
delete node.children;

@@ -48,3 +44,2 @@ delete node.position;

delete node.url;
node.type = "html";

@@ -54,13 +49,13 @@ node.value = "<a href=\"" + href + "\" " + target + ">" + text + "</a>";

module.exports = function (_ref) {
module.exports = function (_ref, _temp) {
var markdownAST = _ref.markdownAST;
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
var _ref2 = _temp === void 0 ? {} : _temp,
_ref2$defaultText = _ref2.defaultText,
defaultText = _ref2$defaultText === undefined ? OPTION_DEFAULT_LINK_TEXT : _ref2$defaultText,
defaultText = _ref2$defaultText === void 0 ? OPTION_DEFAULT_LINK_TEXT : _ref2$defaultText,
_ref2$dependencies = _ref2.dependencies,
dependencies = _ref2$dependencies === undefined ? [] : _ref2$dependencies,
dependencies = _ref2$dependencies === void 0 ? [] : _ref2$dependencies,
directory = _ref2.directory,
_ref2$html = _ref2.html,
html = _ref2$html === undefined ? OPTION_DEFAULT_HTML : _ref2$html,
html = _ref2$html === void 0 ? OPTION_DEFAULT_HTML : _ref2$html,
target = _ref2.target;

@@ -78,5 +73,7 @@

var filePath = url.replace(protocol, "");
if (!filePath.endsWith(".js")) {
filePath += ".js";
}
filePath = normalizePath(join(directory, filePath));

@@ -96,9 +93,6 @@ return filePath;

var filePath = getFilePath(node.url, PROTOCOL_BABEL, directory);
verifyFile(filePath);
var code = compress(fs.readFileSync(filePath, "utf8"));
var href = "https://babeljs.io/repl/#?presets=react&code_lz=" + code;
var text = node.children.length === 0 ? defaultText : node.children[0].value;
convertNodeToLink(node, text, href, target);

@@ -111,2 +105,3 @@ } else if (node.url.startsWith(PROTOCOL_CODEPEN)) {

var _href = node.url.replace(PROTOCOL_CODEPEN, "/redirect-to-codepen/");
var _text = node.children.length === 0 ? defaultText : node.children[0].value;

@@ -120,5 +115,5 @@

var _code = fs.readFileSync(_filePath2, "utf8");
var _code = fs.readFileSync(_filePath2, "utf8"); // CodeSandbox GET API requires a list of "files" keyed by name
// CodeSandbox GET API requires a list of "files" keyed by name
var parameters = {

@@ -138,2 +133,3 @@ files: {

}
return map;

@@ -149,8 +145,9 @@ }, {})

}
}
} // This config JSON must then be lz-string compressed
// This config JSON must then be lz-string compressed
};parameters = compress((0, _stringify2.default)(parameters));
};
parameters = compress(_JSON$stringify(parameters));
var _href2 = "https://codesandbox.io/api/v1/sandboxes/define?parameters=" + parameters;
var _text2 = node.children.length === 0 ? defaultText : node.children[0].value;

@@ -162,18 +159,19 @@

verifyFile(_filePath3);
verifyFile(_filePath3); // Don't use `compress()` as the Ramda REPL won't understand the output.
// It uses URI to encode the code for its urls, so we do the same.
// Don't use `compress()` as the Ramda REPL won't understand the output.
// It uses URI to encode the code for its urls, so we do the same.
var _code2 = URI.encode(fs.readFileSync(_filePath3, "utf8"));
var _href3 = "http://ramdajs.com/repl/#?" + _code2;
var _text3 = node.children.length === 0 ? defaultText : node.children[0].value;
convertNodeToLink(node, _text3, _href3, target);
}
}
} // No change
// No change
return node;
});
return markdownAST;
};
{
"name": "gatsby-remark-code-repls",
"description": "Gatsby plugin to auto-generate links to popular REPLs like Babel and Codepen",
"version": "1.1.0-alpha.03b9df85",
"version": "1.1.0-alpha.2b695217",
"author": "Brian Vaughn <brian.david.vaughn@gmail.com>",
"dependencies": {
"babel-runtime": "^6.26.0",
"@babel/runtime": "^7.0.0-beta.38",
"lz-string": "^1.4.4",

@@ -15,3 +15,4 @@ "normalize-path": "^2.1.1",

"devDependencies": {
"babel-cli": "^6.26.0",
"@babel/cli": "^7.0.0-beta.38",
"@babel/core": "^7.0.0-beta.38",
"cross-env": "^5.0.5"

@@ -30,6 +31,6 @@ },

"scripts": {
"build": "babel src --out-dir . --ignore __tests__",
"watch": "babel -w src --out-dir . --ignore __tests__",
"build": "babel src --out-dir . --ignore ./**/__tests__/",
"watch": "babel -w src --out-dir . --ignore ./**/__tests__/",
"prepublish": "cross-env NODE_ENV=production npm run build"
}
}

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