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

@polywrap/wrap-manifest-types-js

Package Overview
Dependencies
Maintainers
2
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@polywrap/wrap-manifest-types-js - npm Package Compare versions

Comparing version

to
0.11.0

110

build/formats/wrap.info/0.1.schema.json
{
"id": "WrapManifest",
"$id": "WrapManifest",
"type": "object",

@@ -32,9 +32,7 @@ "additionalProperties": false,

"type": "string",
"pattern": "^[a-zA-Z0-9\\-\\_]+$"
"pattern": "^[a-zA-Z0-9-_]+$"
},
"abi": {
"description": "Information of modules",
"id": "Abi",
"type": "object",
"unevaluatedProperties": false,
"properties": {

@@ -119,7 +117,5 @@ "version": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -155,7 +151,5 @@ "moduleDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -168,4 +162,3 @@ "interfaceImplementedDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -198,4 +191,3 @@ "methodDefinition": {

}
},
"unevaluatedProperties": false
}
},

@@ -205,7 +197,5 @@ "return": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -240,7 +230,5 @@ "envDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -264,7 +252,5 @@ "interfaceDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -283,7 +269,5 @@ "capabilityDefinition": {

}
},
"unevaluatedProperties": false
}
}
},
"unevaluatedProperties": false
}
},

@@ -307,4 +291,3 @@ "importedDefinition": {

}
},
"unevaluatedProperties": false
}
},

@@ -323,4 +306,3 @@ "importedObjectDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -352,7 +334,5 @@ "importedModuleDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -368,4 +348,3 @@ "importedEnumDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -378,4 +357,3 @@ "importedEnvDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -389,3 +367,2 @@ "withKind": {

},
"unevaluatedProperties": false,
"required": [

@@ -401,4 +378,3 @@ "kind"

}
},
"unevaluatedProperties": false
}
},

@@ -414,4 +390,3 @@ "propertyDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -442,7 +417,5 @@ "genericDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -482,7 +455,5 @@ "anyDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -500,7 +471,5 @@ "arrayDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false,
"required": [

@@ -541,3 +510,2 @@ "item"

},
"unevaluatedProperties": false,
"required": [

@@ -572,7 +540,5 @@ "type"

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false,
"required": [

@@ -599,7 +565,5 @@ "type"

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false,
"required": [

@@ -616,4 +580,3 @@ "key",

}
],
"unevaluatedProperties": false
]
},

@@ -626,4 +589,3 @@ "enumRef": {

}
],
"unevaluatedProperties": false
]
},

@@ -636,4 +598,3 @@ "unresolvedObjectOrEnumRef": {

}
],
"unevaluatedProperties": false
]
},

@@ -646,4 +607,3 @@ "importedModuleRef": {

}
},
"unevaluatedProperties": false
}
}

@@ -650,0 +610,0 @@ }

@@ -7,3 +7,3 @@ /**

import { AnyWrapManifest } from ".";
import { Schema } from "jsonschema";
export declare function validateWrapManifest(manifest: AnyWrapManifest, extSchema?: Schema | undefined): Promise<void>;
import { Schema } from "ajv";
export declare function validateWrapManifest(manifest: AnyWrapManifest, extSchema?: Schema | undefined): void;
"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 __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 (g && (g = 0, op[0] && (_ = 0)), _) 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 __read = (this && this.__read) || function (o, n) {

@@ -75,7 +39,4 @@ var m = typeof Symbol === "function" && o[Symbol.iterator];

var _1 = require(".");
var jsonschema_1 = require("jsonschema");
var json_schema_ref_parser_1 = require("@apidevtools/json-schema-ref-parser");
// Workaround: https://github.com/APIDevTools/json-schema-ref-parser/issues/139#issuecomment-940500698
var json_schema_ref_parser_2 = __importDefault(require("@apidevtools/json-schema-ref-parser"));
json_schema_ref_parser_2.default.resolve = json_schema_ref_parser_2.default.resolve.bind(json_schema_ref_parser_2.default);
var ajv_1 = __importDefault(require("ajv"));
var ajv = new ajv_1.default({ strict: false });
var schemas = {

@@ -86,7 +47,10 @@ // NOTE: Patch fix for backwards compatability

};
function throwIfErrors(result, version) {
if (result.errors.length) {
function runValidation(schema, manifest) {
var version = manifest.version;
var validate = ajv.compile(schema);
var valid = validate(manifest);
if (!valid) {
throw new Error(__spreadArray([
"Validation errors encountered while sanitizing WrapManifest version ".concat(version)
], __read(result.errors.map(function (error) { return error.toString(); })), false).join("\n"));
], __read(validate.errors.map(function (x) { return JSON.stringify(x, null, 2); })), false).join("\n"));
}

@@ -96,39 +60,12 @@ }

if (extSchema === void 0) { extSchema = undefined; }
return __awaiter(this, void 0, void 0, function () {
var schema, refs, validator, resolveRefs;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
schema = schemas[manifest.version];
if (!schema) {
throw new Error("Unrecognized WrapManifest schema version \"".concat(manifest.version, "\"\nmanifest: ").concat(JSON.stringify(manifest, null, 2)));
}
return [4 /*yield*/, (0, json_schema_ref_parser_1.resolve)(schema)];
case 1:
refs = _a.sent();
validator = new jsonschema_1.Validator();
validator.addSchema(schema);
resolveRefs = function () {
var unresolvedRef = validator.unresolvedRefs.shift();
if (!unresolvedRef)
return;
var relRefIdx = unresolvedRef.indexOf("#");
var relRef = unresolvedRef.slice(relRefIdx);
var resolvedSchema = refs.get(relRef);
if (!resolvedSchema)
throw new Error("Failed to resolve the ref: ".concat(relRef));
validator.addSchema(resolvedSchema, unresolvedRef);
resolveRefs();
};
resolveRefs();
throwIfErrors(validator.validate(manifest, schema), manifest.version);
if (extSchema) {
throwIfErrors(validator.validate(manifest, extSchema), manifest.version);
}
return [2 /*return*/];
}
});
});
var schema = schemas[manifest.version];
if (!schema) {
throw new Error("Unrecognized WrapManifest schema version \"".concat(manifest.version, "\"\nmanifest: ").concat(JSON.stringify(manifest, null, 2)));
}
runValidation(schema, manifest);
if (extSchema) {
runValidation(extSchema, manifest);
}
}
exports.validateWrapManifest = validateWrapManifest;
//# sourceMappingURL=validate.js.map
{
"name": "@polywrap/wrap-manifest-types-js",
"description": "WRAP Manifest TypeScript Typings",
"version": "0.10.1",
"version": "0.11.0",
"license": "MIT",

@@ -18,8 +18,8 @@ "repository": {

"dependencies": {
"@apidevtools/json-schema-ref-parser": "9.0.9",
"@polywrap/msgpack-js": "0.10.1",
"jsonschema": "1.4.0",
"@polywrap/msgpack-js": "0.11.0",
"ajv": "8.12.0",
"semver": "7.5.0"
},
"devDependencies": {
"@apidevtools/json-schema-ref-parser": "9.0.9",
"@polywrap/os-js": "~0.10.0",

@@ -39,3 +39,2 @@ "@polywrap/wrap-manifest-schemas": "0.9.7",

},
"gitHead": "7346adaf5adb7e6bbb70d9247583e995650d390a",
"publishConfig": {

@@ -42,0 +41,0 @@ "access": "public"

@@ -61,5 +61,2 @@ import path from "path";

const schemaOutputPath = path.join(wrapOutputDir, `${version}.schema.json`);
os.writeFileSync(schemaOutputPath, JSON.stringify(bundledSchema, null ,2));
// Add metadata for the root index.ts file to use

@@ -66,0 +63,0 @@ wrapModules.push({

@@ -103,3 +103,3 @@ import { WrapManifest, deserializeWrapManifest } from "..";

await expect(() => deserializeWrapManifest(manifest)).rejects.toThrow(
/not allowed to have the additional property "not_accepted_field"/
/must NOT have additional properties"/
);

@@ -115,3 +115,3 @@ });

await expect(() => deserializeWrapManifest(manifest)).rejects.toThrow(
/instance requires property "name"/
/must have required property 'name'/
);

@@ -127,3 +127,3 @@ });

await expect(() => deserializeWrapManifest(manifest)).rejects.toThrow(
/instance.name does not match pattern/
/must match pattern/
);

@@ -139,5 +139,5 @@ });

await expect(() => deserializeWrapManifest(manifest)).rejects.toThrow(
/instance.abi is not of a type\(s\) object/
/must be object/
);
});
});
{
"id": "WrapManifest",
"$id": "WrapManifest",
"type": "object",

@@ -32,9 +32,7 @@ "additionalProperties": false,

"type": "string",
"pattern": "^[a-zA-Z0-9\\-\\_]+$"
"pattern": "^[a-zA-Z0-9-_]+$"
},
"abi": {
"description": "Information of modules",
"id": "Abi",
"type": "object",
"unevaluatedProperties": false,
"properties": {

@@ -119,7 +117,5 @@ "version": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -155,7 +151,5 @@ "moduleDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -168,4 +162,3 @@ "interfaceImplementedDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -198,4 +191,3 @@ "methodDefinition": {

}
},
"unevaluatedProperties": false
}
},

@@ -205,7 +197,5 @@ "return": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -240,7 +230,5 @@ "envDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -264,7 +252,5 @@ "interfaceDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -283,7 +269,5 @@ "capabilityDefinition": {

}
},
"unevaluatedProperties": false
}
}
},
"unevaluatedProperties": false
}
},

@@ -307,4 +291,3 @@ "importedDefinition": {

}
},
"unevaluatedProperties": false
}
},

@@ -323,4 +306,3 @@ "importedObjectDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -352,7 +334,5 @@ "importedModuleDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -368,4 +348,3 @@ "importedEnumDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -378,4 +357,3 @@ "importedEnvDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -389,3 +367,2 @@ "withKind": {

},
"unevaluatedProperties": false,
"required": [

@@ -401,4 +378,3 @@ "kind"

}
},
"unevaluatedProperties": false
}
},

@@ -414,4 +390,3 @@ "propertyDefinition": {

}
],
"unevaluatedProperties": false
]
},

@@ -442,7 +417,5 @@ "genericDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -482,7 +455,5 @@ "anyDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false
]
},

@@ -500,7 +471,5 @@ "arrayDefinition": {

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false,
"required": [

@@ -541,3 +510,2 @@ "item"

},
"unevaluatedProperties": false,
"required": [

@@ -572,7 +540,5 @@ "type"

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false,
"required": [

@@ -599,7 +565,5 @@ "type"

}
},
"unevaluatedProperties": false
}
}
],
"unevaluatedProperties": false,
"required": [

@@ -616,4 +580,3 @@ "key",

}
],
"unevaluatedProperties": false
]
},

@@ -626,4 +589,3 @@ "enumRef": {

}
],
"unevaluatedProperties": false
]
},

@@ -636,4 +598,3 @@ "unresolvedObjectOrEnumRef": {

}
],
"unevaluatedProperties": false
]
},

@@ -646,4 +607,3 @@ "importedModuleRef": {

}
},
"unevaluatedProperties": false
}
}

@@ -650,0 +610,0 @@ }

@@ -14,13 +14,6 @@ /* eslint-disable */

import {
Schema,
Validator,
ValidationError,
ValidatorResult
} from "jsonschema";
import { resolve, $Refs } from "@apidevtools/json-schema-ref-parser";
// Workaround: https://github.com/APIDevTools/json-schema-ref-parser/issues/139#issuecomment-940500698
import $RefParser from '@apidevtools/json-schema-ref-parser';
$RefParser.resolve = $RefParser.resolve.bind($RefParser);
import Ajv, { Schema } from "ajv";
const ajv = new Ajv({ strict: false });
type WrapManifestSchemas = {

@@ -37,7 +30,14 @@ [key in WrapManifestVersions]: Schema | undefined

function throwIfErrors(result: ValidatorResult, version: string) {
if (result.errors.length) {
function runValidation(
schema: Schema,
manifest: AnyWrapManifest
): void {
const version = manifest.version;
const validate = ajv.compile(schema);
const valid = validate(manifest);
if (!valid) {
throw new Error([
`Validation errors encountered while sanitizing WrapManifest version ${version}`,
...result.errors.map((error: ValidationError) => error.toString())
...((validate as any).errors as unknown[]).map((x) => JSON.stringify(x, null, 2))
].join("\n"));

@@ -47,6 +47,6 @@ }

export async function validateWrapManifest(
export function validateWrapManifest(
manifest: AnyWrapManifest,
extSchema: Schema | undefined = undefined
): Promise<void> {
): void {
const schema = schemas[manifest.version as WrapManifestVersions];

@@ -58,28 +58,7 @@

const refs: $Refs = await resolve(schema as any);
runValidation(schema, manifest);
const validator = new Validator();
validator.addSchema(schema);
const resolveRefs = () => {
const unresolvedRef = validator.unresolvedRefs.shift();
if (!unresolvedRef) return;
const relRefIdx = unresolvedRef.indexOf("#");
const relRef = unresolvedRef.slice(relRefIdx);
const resolvedSchema = refs.get(relRef);
if (!resolvedSchema) throw new Error(`Failed to resolve the ref: ${relRef}`);
validator.addSchema(resolvedSchema as Schema, unresolvedRef);
resolveRefs();
}
resolveRefs();
throwIfErrors(validator.validate(manifest, schema), manifest.version);
if (extSchema) {
throwIfErrors(validator.validate(manifest, extSchema), manifest.version);
runValidation(extSchema, manifest);
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet