@teleporthq/teleport-plugin-reactnative-resource-loader
Advanced tools
Comparing version 0.16.3 to 0.17.0
@@ -1,82 +0,97 @@ | ||
"use strict"; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
var __create = Object.create; | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __getProtoOf = Object.getPrototypeOf; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); | ||
var __export = (target, all) => { | ||
for (var name in all) | ||
__defProp(target, name, { get: all[name], enumerable: true }); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
var __reExport = (target, module2, desc) => { | ||
if (module2 && typeof module2 === "object" || typeof module2 === "function") { | ||
for (let key of __getOwnPropNames(module2)) | ||
if (!__hasOwnProp.call(target, key) && key !== "default") | ||
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); | ||
} | ||
return target; | ||
}; | ||
var __toModule = (module2) => { | ||
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); | ||
}; | ||
var __async = (__this, __arguments, generator) => { | ||
return new Promise((resolve, reject) => { | ||
var fulfilled = (value) => { | ||
try { | ||
step(generator.next(value)); | ||
} catch (e) { | ||
reject(e); | ||
} | ||
}; | ||
var rejected = (value) => { | ||
try { | ||
step(generator.throw(value)); | ||
} catch (e) { | ||
reject(e); | ||
} | ||
}; | ||
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); | ||
step((generator = generator.apply(__this, __arguments)).next()); | ||
}); | ||
}; | ||
// packages/teleport-plugin-reactnative-resource-loader/src/index.ts | ||
__markAsModule(exports); | ||
__export(exports, { | ||
createReactNativeResourcePlugin: () => createReactNativeResourcePlugin, | ||
default: () => src_default | ||
}); | ||
var import_teleport_shared = __toModule(require("@teleporthq/teleport-shared")); | ||
// packages/teleport-plugin-reactnative-resource-loader/src/utils.ts | ||
var types = __toModule(require("@babel/types")); | ||
var setResourceRequireCall = (attrAST, path) => { | ||
attrAST.value = types.jsxExpressionContainer(types.callExpression(types.identifier("require"), [types.stringLiteral(path)])); | ||
}; | ||
var setResourceURIObject = (attrAST) => { | ||
const originalValue = attrAST.value.type === "JSXExpressionContainer" ? attrAST.value.expression : attrAST.value; | ||
attrAST.value = types.jsxExpressionContainer(types.objectExpression([types.objectProperty(types.identifier("uri"), originalValue)])); | ||
}; | ||
// packages/teleport-plugin-reactnative-resource-loader/src/index.ts | ||
var createReactNativeResourcePlugin = (config) => { | ||
const { componentChunkName = "jsx-component" } = config || {}; | ||
const reactNativeResourcePlugin = (structure) => __async(void 0, null, function* () { | ||
const { uidl, chunks } = structure; | ||
const componentChunk = chunks.find((chunk) => chunk.name === componentChunkName); | ||
if (!componentChunk) { | ||
return structure; | ||
} | ||
const jsxNodesLookup = componentChunk.meta.nodesLookup; | ||
import_teleport_shared.UIDLUtils.traverseElements(uidl.node, (element) => { | ||
if (element.elementType !== "Image" || !(element.attrs && element.attrs.source)) { | ||
return; | ||
} | ||
const jsxElement = jsxNodesLookup[element.key]; | ||
const sourceAttr = element.attrs.source; | ||
const sourceAttrAST = jsxElement.openingElement.attributes.find((attr) => attr.type === "JSXAttribute" && attr.name.name === "source"); | ||
if (!sourceAttrAST) { | ||
return; | ||
} | ||
if (sourceAttr.type === "static") { | ||
const sourcePath = sourceAttr.content.toString(); | ||
if (sourcePath.includes(import_teleport_shared.Constants.ASSETS_IDENTIFIER)) { | ||
setResourceRequireCall(sourceAttrAST, `..${sourcePath}`); | ||
} else { | ||
setResourceURIObject(sourceAttrAST); | ||
} | ||
} else { | ||
setResourceURIObject(sourceAttrAST); | ||
} | ||
}); | ||
return structure; | ||
}); | ||
return reactNativeResourcePlugin; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var teleport_shared_1 = require("@teleporthq/teleport-shared"); | ||
var utils_1 = require("./utils"); | ||
exports.createReactNativeResourcePlugin = function (config) { | ||
var _a = (config || {}).componentChunkName, componentChunkName = _a === void 0 ? 'jsx-component' : _a; | ||
var reactNativeResourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () { | ||
var uidl, chunks, componentChunk, jsxNodesLookup; | ||
return __generator(this, function (_a) { | ||
uidl = structure.uidl, chunks = structure.chunks; | ||
componentChunk = chunks.find(function (chunk) { return chunk.name === componentChunkName; }); | ||
if (!componentChunk) { | ||
return [2 /*return*/, structure]; | ||
} | ||
jsxNodesLookup = componentChunk.meta.nodesLookup; | ||
teleport_shared_1.UIDLUtils.traverseElements(uidl.node, function (element) { | ||
if (element.elementType !== 'Image' || !(element.attrs && element.attrs.source)) { | ||
return; | ||
} | ||
var jsxElement = jsxNodesLookup[element.key]; | ||
var sourceAttr = element.attrs.source; | ||
var sourceAttrAST = jsxElement.openingElement.attributes.find(function (attr) { return attr.type === 'JSXAttribute' && attr.name.name === 'source'; }); | ||
if (!sourceAttrAST) { | ||
return; | ||
} | ||
if (sourceAttr.type === 'static') { | ||
var sourcePath = sourceAttr.content.toString(); | ||
if (sourcePath.includes(teleport_shared_1.Constants.ASSETS_IDENTIFIER)) { | ||
// Assuming the components are generated next to the assets folder | ||
utils_1.setResourceRequireCall(sourceAttrAST, ".." + sourcePath); | ||
} | ||
else { | ||
utils_1.setResourceURIObject(sourceAttrAST); | ||
} | ||
} | ||
else { | ||
utils_1.setResourceURIObject(sourceAttrAST); | ||
} | ||
}); | ||
return [2 /*return*/, structure]; | ||
}); | ||
}); }; | ||
return reactNativeResourcePlugin; | ||
}; | ||
exports.default = exports.createReactNativeResourcePlugin(); | ||
//# sourceMappingURL=index.js.map | ||
var src_default = createReactNativeResourcePlugin(); |
@@ -1,41 +0,81 @@ | ||
import { Constants, UIDLUtils } from '@teleporthq/teleport-shared'; | ||
import { setResourceURIObject, setResourceRequireCall } from './utils'; | ||
export const createReactNativeResourcePlugin = (config) => { | ||
const { componentChunkName = 'jsx-component' } = config || {}; | ||
const reactNativeResourcePlugin = async (structure) => { | ||
const { uidl, chunks } = structure; | ||
const componentChunk = chunks.find((chunk) => chunk.name === componentChunkName); | ||
if (!componentChunk) { | ||
return structure; | ||
} | ||
const jsxNodesLookup = componentChunk.meta.nodesLookup; | ||
UIDLUtils.traverseElements(uidl.node, (element) => { | ||
if (element.elementType !== 'Image' || !(element.attrs && element.attrs.source)) { | ||
return; | ||
} | ||
const jsxElement = jsxNodesLookup[element.key]; | ||
const sourceAttr = element.attrs.source; | ||
const sourceAttrAST = jsxElement.openingElement.attributes.find((attr) => attr.type === 'JSXAttribute' && attr.name.name === 'source'); | ||
if (!sourceAttrAST) { | ||
return; | ||
} | ||
if (sourceAttr.type === 'static') { | ||
const sourcePath = sourceAttr.content.toString(); | ||
if (sourcePath.includes(Constants.ASSETS_IDENTIFIER)) { | ||
// Assuming the components are generated next to the assets folder | ||
setResourceRequireCall(sourceAttrAST, `..${sourcePath}`); | ||
} | ||
else { | ||
setResourceURIObject(sourceAttrAST); | ||
} | ||
} | ||
else { | ||
setResourceURIObject(sourceAttrAST); | ||
} | ||
}); | ||
return structure; | ||
var __async = (__this, __arguments, generator) => { | ||
return new Promise((resolve, reject) => { | ||
var fulfilled = (value) => { | ||
try { | ||
step(generator.next(value)); | ||
} catch (e) { | ||
reject(e); | ||
} | ||
}; | ||
return reactNativeResourcePlugin; | ||
var rejected = (value) => { | ||
try { | ||
step(generator.throw(value)); | ||
} catch (e) { | ||
reject(e); | ||
} | ||
}; | ||
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); | ||
step((generator = generator.apply(__this, __arguments)).next()); | ||
}); | ||
}; | ||
export default createReactNativeResourcePlugin(); | ||
//# sourceMappingURL=index.js.map | ||
// packages/teleport-plugin-reactnative-resource-loader/src/index.ts | ||
import { Constants, UIDLUtils } from "@teleporthq/teleport-shared"; | ||
// packages/teleport-plugin-reactnative-resource-loader/src/utils.ts | ||
import { | ||
callExpression, | ||
identifier, | ||
jsxExpressionContainer, | ||
objectExpression, | ||
objectProperty, | ||
stringLiteral | ||
} from "@babel/types"; | ||
var setResourceRequireCall = (attrAST, path) => { | ||
attrAST.value = jsxExpressionContainer(callExpression(identifier("require"), [stringLiteral(path)])); | ||
}; | ||
var setResourceURIObject = (attrAST) => { | ||
const originalValue = attrAST.value.type === "JSXExpressionContainer" ? attrAST.value.expression : attrAST.value; | ||
attrAST.value = jsxExpressionContainer(objectExpression([objectProperty(identifier("uri"), originalValue)])); | ||
}; | ||
// packages/teleport-plugin-reactnative-resource-loader/src/index.ts | ||
var createReactNativeResourcePlugin = (config) => { | ||
const { componentChunkName = "jsx-component" } = config || {}; | ||
const reactNativeResourcePlugin = (structure) => __async(void 0, null, function* () { | ||
const { uidl, chunks } = structure; | ||
const componentChunk = chunks.find((chunk) => chunk.name === componentChunkName); | ||
if (!componentChunk) { | ||
return structure; | ||
} | ||
const jsxNodesLookup = componentChunk.meta.nodesLookup; | ||
UIDLUtils.traverseElements(uidl.node, (element) => { | ||
if (element.elementType !== "Image" || !(element.attrs && element.attrs.source)) { | ||
return; | ||
} | ||
const jsxElement = jsxNodesLookup[element.key]; | ||
const sourceAttr = element.attrs.source; | ||
const sourceAttrAST = jsxElement.openingElement.attributes.find((attr) => attr.type === "JSXAttribute" && attr.name.name === "source"); | ||
if (!sourceAttrAST) { | ||
return; | ||
} | ||
if (sourceAttr.type === "static") { | ||
const sourcePath = sourceAttr.content.toString(); | ||
if (sourcePath.includes(Constants.ASSETS_IDENTIFIER)) { | ||
setResourceRequireCall(sourceAttrAST, `..${sourcePath}`); | ||
} else { | ||
setResourceURIObject(sourceAttrAST); | ||
} | ||
} else { | ||
setResourceURIObject(sourceAttrAST); | ||
} | ||
}); | ||
return structure; | ||
}); | ||
return reactNativeResourcePlugin; | ||
}; | ||
var src_default = createReactNativeResourcePlugin(); | ||
export { | ||
createReactNativeResourcePlugin, | ||
src_default as default | ||
}; |
{ | ||
"name": "@teleporthq/teleport-plugin-reactnative-resource-loader", | ||
"version": "0.16.3", | ||
"version": "0.17.0", | ||
"description": "A plugin for solving the assets/resources used inside a react native component", | ||
@@ -11,2 +11,7 @@ "author": "teleportHQ", | ||
"module": "dist/esm/index.js", | ||
"exports": { | ||
"module": "./dist/esm/index.js", | ||
"require": "./dist/cjs/index.js", | ||
"import": "./dist/esm/index.js" | ||
}, | ||
"sideEffects": false, | ||
@@ -25,12 +30,10 @@ "repository": { | ||
"clean": "rimraf dist", | ||
"build": "npm run build:cjs & npm run build:esm", | ||
"build:cjs": "tsc -p tsconfig-cjs.json", | ||
"build:esm": "tsc -p tsconfig-esm.json" | ||
"types": "tsc -p tsconfig.json" | ||
}, | ||
"dependencies": { | ||
"@babel/types": "^7.5.5", | ||
"@teleporthq/teleport-shared": "^0.16.3", | ||
"@teleporthq/teleport-types": "^0.16.3" | ||
"@teleporthq/teleport-shared": "^0.17.0", | ||
"@teleporthq/teleport-types": "^0.17.0" | ||
}, | ||
"gitHead": "7e373501206d293ea7ac0494b563ee5f6a2fccb2" | ||
"gitHead": "959317a18068b52ffd8b912e41d123f70d97e7bc" | ||
} |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
75284
11
257
1
+ Added@teleporthq/teleport-shared@0.17.7(transitive)
+ Added@teleporthq/teleport-types@0.17.7(transitive)
- Removed@teleporthq/teleport-shared@0.16.3(transitive)
- Removed@teleporthq/teleport-types@0.16.3(transitive)