Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@pixi/assets

Package Overview
Dependencies
Maintainers
2
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pixi/assets - npm Package Compare versions

Comparing version 7.1.0-alpha to 7.1.0

lib/utils/checkDataUrl.d.ts

2

lib/AssetExtension.d.ts
import { ExtensionType } from '@pixi/core';
import type { LoaderParser } from './loader';
import type { CacheParser } from './cache';
import type { FormatDetectionParser } from './detections';
import type { LoaderParser } from './loader';
import type { ResolveURLParser } from './resolver';

@@ -6,0 +6,0 @@ /**

import { Cache } from './cache/Cache';
import type { FormatDetectionParser } from './detections';
import type { LoadAsset, LoaderParser } from './loader';
import { Loader } from './loader/Loader';
import type { PreferOrder, ResolveAsset, ResolverBundle, ResolverManifest, ResolveURLParser } from './resolver';
import { Resolver } from './resolver/Resolver';
import type { FormatDetectionParser } from './detections';
import type { LoadAsset } from './loader';
import type { ResolveAsset, ResolverBundle, ResolverManifest } from './resolver';
import type { BundleIdentifierOptions } from './resolver/Resolver';
export declare type ProgressCallback = (progress: number) => void;

@@ -15,2 +16,4 @@ /**

basePath?: string;
/** a default URL parameter string to append to all assets loaded */
defaultSearchParams?: string | Record<string, any>;
/**

@@ -32,22 +35,4 @@ * a manifest to tell the asset loader upfront what all your assets are

};
/** loader options to configure the loader with, currently only parsers! */
loader?: {
/** custom parsers can be added here, for example something that could load a sound or a 3D model */
parsers?: LoaderParser[];
};
/** resolver specific options */
resolver?: {
/**
* a list of urlParsers, these can read the URL and pick put the various options.
* for example there is a texture URL parser that picks our resolution and file format.
* You can add custom ways to read URLs and extract information here.
*/
urlParsers?: ResolveURLParser[];
/**
* a list of preferOrders that let the resolver know which asset to pick.
* already built-in we have a texture preferOrders that let the resolve know which asset to prefer
* if it has multiple assets to pick from (resolution/formats etc)
*/
preferOrders?: PreferOrder[];
};
/** advanced - override how bundlesIds are generated */
bundleIdentifier?: BundleIdentifierOptions;
}

@@ -91,3 +76,3 @@ /**

* Out of the box it supports the following files:
* - textures (avif, webp, png, jpg, gif)
* - textures (avif, webp, png, jpg, gif, svg)
* - sprite sheets (json)

@@ -307,3 +292,4 @@ * - bitmap fonts (xml, fnt, txt)

*/
load<T = any>(urls: string | string[] | LoadAsset | LoadAsset[], onProgress?: ProgressCallback): Promise<T | Record<string, T>>;
load<T = any>(urls: string | LoadAsset, onProgress?: ProgressCallback): Promise<T>;
load<T = any>(urls: string[] | LoadAsset[], onProgress?: ProgressCallback): Promise<Record<string, T>>;
/**

@@ -372,5 +358,6 @@ * This adds a bundle of assets in one go so that you can load them as a group.

* @param bundleIds - the bundle id or ids to load
* @param onProgress - optional function that is called when progress on asset loading is made.
* @param onProgress - Optional function that is called when progress on asset loading is made.
* The function is passed a single parameter, `progress`, which represents the percentage (0.0 - 1.0)
* of the assets loaded.
* of the assets loaded. Do not use this function to detect when assets are complete and available,
* instead use the Promise returned by this function.
* @returns all the bundles assets or a hash of assets for each bundle specified

@@ -434,3 +421,4 @@ */

*/
get<T = any>(keys: string | string[]): T | Record<string, T>;
get<T = any>(keys: string): T;
get<T = any>(keys: string[]): Record<string, T>;
/**

@@ -498,5 +486,5 @@ * helper function to map resolved assets back to loaded assets

*/
get preferWorker(): boolean;
set preferWorker(value: boolean);
get preferWorkers(): boolean;
set preferWorkers(value: boolean);
}
export declare const Assets: AssetsClass;

@@ -9,6 +9,6 @@ 'use strict';

var Loader = require('./loader/Loader.js');
require('./loader/parsers/index.js');
var Resolver = require('./resolver/Resolver.js');
var convertToList = require('./utils/convertToList.js');
var isSingleItem = require('./utils/isSingleItem.js');
require('./loader/parsers/index.js');
var loadTextures = require('./loader/parsers/textures/loadTextures.js');

@@ -29,8 +29,15 @@

if (this._initialized) {
console.warn("[Assets]AssetManager already initialized, did you load before calling this Asset.init()?");
return;
}
this._initialized = true;
if (options.defaultSearchParams) {
this.resolver.setDefaultSearchParams(options.defaultSearchParams);
}
if (options.basePath) {
this.resolver.basePath = options.basePath;
}
if (options.bundleIdentifier) {
this.resolver.setBundleIdentifier(options.bundleIdentifier);
}
if (options.manifest) {

@@ -200,7 +207,7 @@ let manifest = options.manifest;

}
get preferWorker() {
return loadTextures.loadTextures.config.preferWorker;
get preferWorkers() {
return loadTextures.loadTextures.config.preferWorkers;
}
set preferWorker(value) {
loadTextures.loadTextures.config.preferWorker = value;
set preferWorkers(value) {
loadTextures.loadTextures.config.preferWorkers = value;
}

@@ -207,0 +214,0 @@ }

@@ -25,2 +25,3 @@ 'use strict';

if (!result) {
console.warn(`[Assets] Asset id ${key} was not found in the Cache`);
}

@@ -55,2 +56,3 @@ return result;

if (this._cache.has(key2) && this._cache.get(key2) !== value) {
console.warn("[Cache] already has key:", key2);
}

@@ -72,2 +74,3 @@ this._cache.set(key2, cacheableAssets[key2]);

if (!this._cacheMap.has(key)) {
console.warn(`[Assets] Asset id ${key} was not found in the Cache`);
return;

@@ -74,0 +77,0 @@ }

export * from './Cache';
export * from './CacheParser';
export * from './parsers';
export * from './CacheParser';

@@ -6,4 +6,4 @@ 'use strict';

var Cache = require('./Cache.js');
require('./CacheParser.js');
require('./parsers/index.js');
require('./CacheParser.js');

@@ -10,0 +10,0 @@

@@ -0,7 +1,7 @@

export * from './AssetExtension';
export * from './Assets';
export * from './AssetExtension';
export * from './utils';
export * from './cache';
export * from './detections';
export * from './loader';
export * from './resolver';
export * from './detections';
export * from './utils';

@@ -5,14 +5,14 @@ 'use strict';

require('./AssetExtension.js');
var Assets = require('./Assets.js');
require('./AssetExtension.js');
require('./utils/index.js');
require('./cache/index.js');
require('./detections/index.js');
require('./loader/index.js');
require('./resolver/index.js');
require('./detections/index.js');
var convertToList = require('./utils/convertToList.js');
var createStringVariations = require('./utils/createStringVariations.js');
var isSingleItem = require('./utils/isSingleItem.js');
require('./utils/index.js');
var Cache = require('./cache/Cache.js');
var cacheTextureArray = require('./cache/parsers/cacheTextureArray.js');
var detectAvif = require('./detections/parsers/detectAvif.js');
var detectWebp = require('./detections/parsers/detectWebp.js');
var detectDefaults = require('./detections/parsers/detectDefaults.js');
var LoaderParser = require('./loader/parsers/LoaderParser.js');

@@ -24,8 +24,9 @@ var loadJson = require('./loader/parsers/loadJson.js');

var loadTextures = require('./loader/parsers/textures/loadTextures.js');
var checkExtension = require('./loader/parsers/textures/utils/checkExtension.js');
var createTexture = require('./loader/parsers/textures/utils/createTexture.js');
var resolveTextureUrl = require('./resolver/parsers/resolveTextureUrl.js');
var detectAvif = require('./detections/parsers/detectAvif.js');
var detectWebp = require('./detections/parsers/detectWebp.js');
var detectDefaults = require('./detections/parsers/detectDefaults.js');
var checkDataUrl = require('./utils/checkDataUrl.js');
var checkExtension = require('./utils/checkExtension.js');
var convertToList = require('./utils/convertToList.js');
var createStringVariations = require('./utils/createStringVariations.js');
var isSingleItem = require('./utils/isSingleItem.js');

@@ -36,7 +37,7 @@

exports.AssetsClass = Assets.AssetsClass;
exports.convertToList = convertToList.convertToList;
exports.createStringVariations = createStringVariations.createStringVariations;
exports.isSingleItem = isSingleItem.isSingleItem;
exports.Cache = Cache.Cache;
exports.cacheTextureArray = cacheTextureArray.cacheTextureArray;
exports.detectAvif = detectAvif.detectAvif;
exports.detectWebp = detectWebp.detectWebp;
exports.detectDefaults = detectDefaults.detectDefaults;
exports.LoaderParserPriority = LoaderParser.LoaderParserPriority;

@@ -50,8 +51,9 @@ exports.loadJson = loadJson.loadJson;

exports.loadTextures = loadTextures.loadTextures;
exports.checkExtension = checkExtension.checkExtension;
exports.createTexture = createTexture.createTexture;
exports.resolveTextureUrl = resolveTextureUrl.resolveTextureUrl;
exports.detectAvif = detectAvif.detectAvif;
exports.detectWebp = detectWebp.detectWebp;
exports.detectDefaults = detectDefaults.detectDefaults;
exports.checkDataUrl = checkDataUrl.checkDataUrl;
exports.checkExtension = checkExtension.checkExtension;
exports.convertToList = convertToList.convertToList;
exports.createStringVariations = createStringVariations.createStringVariations;
exports.isSingleItem = isSingleItem.isSingleItem;
//# sourceMappingURL=index.js.map

@@ -1,3 +0,3 @@

export * from './types';
export type { Loader } from './Loader';
export * from './parsers';
export * from './types';
'use strict';
require('./parsers/index.js');
require('./types.js');
require('./parsers/index.js');
//# sourceMappingURL=index.js.map
import type { LoaderParser } from './parsers/LoaderParser';
import type { PromiseAndParser, LoadAsset } from './types';
import type { LoadAsset, PromiseAndParser } from './types';
/**

@@ -38,7 +38,9 @@ * The Loader is responsible for loading all assets, such as images, spritesheets, audio files, etc.

* @param assetsToLoadIn - urls that you want to load, or a single one!
* @param onProgress - a function that gets called when the progress changes
* @param onProgress - For multiple asset loading only, an optional function that is called
* when progress on asset loading is made. The function is passed a single parameter, `progress`,
* which represents the percentage (0.0 - 1.0) of the assets loaded. Do not use this function
* to detect when assets are complete and available, instead use the Promise returned by this function.
*/
load(assetsToLoadIn: string | string[] | LoadAsset | LoadAsset[], onProgress?: (progress: number) => void): Promise<{
[key: string]: any;
} | any>;
load<T = any>(assetsToLoadIn: string | LoadAsset, onProgress?: (progress: number) => void): Promise<T>;
load<T = any>(assetsToLoadIn: string[] | LoadAsset[], onProgress?: (progress: number) => void): Promise<Record<string, T>>;
/**

@@ -45,0 +47,0 @@ * Unloads one or more assets. Any unloaded assets will be destroyed, freeing up memory for your app.

@@ -34,2 +34,3 @@ 'use strict';

if (!result.parser) {
console.warn(`[Assets] ${url} could not be loaded as we don't know how to parse it, ensure the correct parser has being added`);
return null;

@@ -36,0 +37,0 @@ }

@@ -14,3 +14,3 @@ 'use strict';

test(url) {
return core.utils.path.extname(url).includes(".json");
return core.utils.path.extname(url).toLowerCase() === ".json";
},

@@ -17,0 +17,0 @@ async load(url) {

@@ -14,3 +14,3 @@ 'use strict';

test(url) {
return core.utils.path.extname(url).includes(".txt");
return core.utils.path.extname(url).toLowerCase() === ".txt";
},

@@ -17,0 +17,0 @@ async load(url) {

@@ -6,2 +6,4 @@ 'use strict';

var core = require('@pixi/core');
var checkDataUrl = require('../../utils/checkDataUrl.js');
var checkExtension = require('../../utils/checkExtension.js');
var LoaderParser = require('./LoaderParser.js');

@@ -22,3 +24,9 @@

];
const validFonts = ["woff", "woff2", "ttf", "otf"];
const validFontExtensions = [".ttf", ".otf", ".woff", ".woff2"];
const validFontMIMEs = [
"font/ttf",
"font/otf",
"font/woff",
"font/woff2"
];
function getFontFamilyName(url) {

@@ -37,5 +45,3 @@ const ext = core.utils.path.extname(url);

test(url) {
const tempURL = url.split("?")[0];
const extension = tempURL.split(".").pop();
return validFonts.includes(extension);
return checkDataUrl.checkDataUrl(url, validFontMIMEs) || checkExtension.checkExtension(url, validFontExtensions);
},

@@ -54,3 +60,3 @@ async load(url, options) {

const weight = weights[i];
const font = new FontFace(name, `url(${url})`, {
const font = new FontFace(name, `url(${encodeURI(url)})`, {
...data,

@@ -65,2 +71,3 @@ weight

}
console.warn("[loadWebFont] FontFace API is not supported. Skipping loading font");
return null;

@@ -67,0 +74,0 @@ },

@@ -16,3 +16,3 @@ 'use strict';

test(url) {
return core.utils.path.extname(url).includes(".svg");
return core.utils.path.extname(url).toLowerCase() === ".svg";
},

@@ -41,4 +41,5 @@ async testParse(data) {

};
core.extensions.add(loadSVG);
exports.loadSVG = loadSVG;
//# sourceMappingURL=loadSVG.js.map

@@ -6,8 +6,15 @@ 'use strict';

var core = require('@pixi/core');
var checkDataUrl = require('../../../utils/checkDataUrl.js');
var checkExtension = require('../../../utils/checkExtension.js');
var LoaderParser = require('../LoaderParser.js');
var WorkerManager = require('../WorkerManager.js');
var checkExtension = require('./utils/checkExtension.js');
var createTexture = require('./utils/createTexture.js');
const validImages = [".jpg", ".png", ".jpeg", ".avif", ".webp"];
const validImageExtensions = [".jpeg", ".jpg", ".png", ".webp", ".avif"];
const validImageMIMEs = [
"image/jpeg",
"image/png",
"image/webp",
"image/avif"
];
async function loadImageBitmap(url) {

@@ -31,10 +38,3 @@ const response = await core.settings.ADAPTER.fetch(url);

test(url) {
let isValidBase64Suffix = false;
for (let i = 0; i < validImages.length; i++) {
if (url.startsWith(`data:image/${validImages[i].slice(1)}`)) {
isValidBase64Suffix = true;
break;
}
}
return isValidBase64Suffix || checkExtension.checkExtension(url, validImages);
return checkDataUrl.checkDataUrl(url, validImageMIMEs) || checkExtension.checkExtension(url, validImageExtensions);
},

@@ -41,0 +41,0 @@ async load(url, asset, loader) {

@@ -0,4 +1,4 @@

import { Texture } from '@pixi/core';
import type { BaseTexture } from '@pixi/core';
import { Texture } from '@pixi/core';
import type { Loader } from '../../../Loader';
export declare function createTexture(base: BaseTexture, loader: Loader, url: string): Texture<import("@pixi/core").Resource>;

@@ -1,2 +0,1 @@

export * from './checkExtension';
export * from './createTexture';

@@ -5,3 +5,2 @@ 'use strict';

var checkExtension = require('./checkExtension.js');
var createTexture = require('./createTexture.js');

@@ -11,4 +10,3 @@

exports.checkExtension = checkExtension.checkExtension;
exports.createTexture = createTexture.createTexture;
//# sourceMappingURL=index.js.map

@@ -1,3 +0,3 @@

export * from './types';
export * from './parsers';
export type { Resolver } from './Resolver';
export * from './types';
'use strict';
require('./parsers/index.js');
require('./types.js');
require('./parsers/index.js');
//# sourceMappingURL=index.js.map

@@ -1,2 +0,20 @@

import type { ResolveAsset, PreferOrder, ResolveURLParser, ResolverManifest, ResolverBundle } from './types';
import type { PreferOrder, ResolveAsset, ResolverBundle, ResolverManifest, ResolveURLParser } from './types';
export interface BundleIdentifierOptions {
/** The character that is used to connect the bundleId and the assetId when generating a bundle asset id key */
connector?: string;
/**
* A function that generates a bundle asset id key from a bundleId and an assetId
* @param bundleId - the bundleId
* @param assetId - the assetId
* @returns the bundle asset id key
*/
createBundleAssetId?: (bundleId: string, assetId: string) => string;
/**
* A function that generates an assetId from a bundle asset id key. This is the reverse of generateBundleAssetId
* @param bundleId - the bundleId
* @param assetBundleId - the bundle asset id key
* @returns the assetId
*/
extractAssetIdFromBundle?: (bundleId: string, assetBundleId: string) => string;
}
/**

@@ -37,2 +55,18 @@ * A class that is responsible for resolving mapping asset URLs to keys.

export declare class Resolver {
/** The character that is used to connect the bundleId and the assetId when generating a bundle asset id key */
private _bundleIdConnector;
/**
* A function that generates a bundle asset id key from a bundleId and an assetId
* @param bundleId - the bundleId
* @param assetId - the assetId
* @returns the bundle asset id key
*/
private _createBundleAssetId;
/**
* A function that generates an assetId from a bundle asset id key. This is the reverse of generateBundleAssetId
* @param bundleId - the bundleId
* @param assetBundleId - the bundle asset id key
* @returns the assetId
*/
private _extractAssetIdFromBundle;
private _assetMap;

@@ -46,3 +80,10 @@ private _preferredOrder;

private _bundles;
private _defaultSearchParams;
/**
* Override how the resolver deals with generating bundle ids.
* must be called before any bundles are added
* @param bundleIdentifier - the bundle identifier options
*/
setBundleIdentifier(bundleIdentifier: BundleIdentifierOptions): void;
/**
* Let the resolver know which assets you prefer to use when resolving assets.

@@ -128,2 +169,7 @@ * Multiple prefer user defined rules can be added.

/**
* Sets the default URL search parameters for the URL resolver. The urls can be specified as a string or an object.
* @param searchParams - the default url parameters to append when resolving urls
*/
setDefaultSearchParams(searchParams: string | Record<string, unknown>): void;
/**
* Add a manifest to the asset resolver. This is a nice way to add all the asset information in one go.

@@ -178,3 +224,3 @@ * generally a manifest would be built using a tool.

*/
add(keysIn: string | string[], assetsIn: string | ResolveAsset | (ResolveAsset | string)[], data?: unknown): void;
add(keysIn: string | string[], assetsIn: string | ResolveAsset | (string | ResolveAsset)[], data?: unknown): void;
/**

@@ -249,2 +295,8 @@ * If the resolver has had a manifest set via setManifest, this will return the assets urls for

private _getPreferredOrder;
/**
* Appends the default url parameters to the url
* @param url - The url to append the default parameters to
* @returns - The url with the default parameters appended
*/
private _appendDefaultSearchParams;
}

@@ -12,2 +12,5 @@ 'use strict';

constructor() {
this._bundleIdConnector = "-";
this._createBundleAssetId = (bundleId, assetId) => `${bundleId}${this._bundleIdConnector}${assetId}`;
this._extractAssetIdFromBundle = (bundleId, assetBundleId) => assetBundleId.replace(`${bundleId}${this._bundleIdConnector}`, "");
this._assetMap = {};

@@ -19,2 +22,10 @@ this._preferredOrder = [];

}
setBundleIdentifier(bundleIdentifier) {
this._bundleIdConnector = bundleIdentifier.connector ?? this._bundleIdConnector;
this._createBundleAssetId = bundleIdentifier.createBundleAssetId ?? this._createBundleAssetId;
this._extractAssetIdFromBundle = bundleIdentifier.extractAssetIdFromBundle ?? this._extractAssetIdFromBundle;
if (this._extractAssetIdFromBundle("foo", this._createBundleAssetId("foo", "bar")) !== "bar") {
throw new Error("[Resolver] GenerateBundleAssetId are not working correctly");
}
}
prefer(...preferOrders) {

@@ -52,4 +63,13 @@ preferOrders.forEach((prefer) => {

}
setDefaultSearchParams(searchParams) {
if (typeof searchParams === "string") {
this._defaultSearchParams = searchParams;
} else {
const queryValues = searchParams;
this._defaultSearchParams = Object.keys(queryValues).map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(queryValues[key])}`).join("&");
}
}
addManifest(manifest) {
if (this._manifest) {
console.warn("[Resolver] Manifest already exists, this will be overwritten");
}

@@ -66,12 +86,17 @@ this._manifest = manifest;

if (typeof asset.name === "string") {
assetNames.push(asset.name);
const bundleAssetId = this._createBundleAssetId(bundleId, asset.name);
assetNames.push(bundleAssetId);
this.add([asset.name, bundleAssetId], asset.srcs);
} else {
assetNames.push(...asset.name);
const bundleIds = asset.name.map((name) => this._createBundleAssetId(bundleId, name));
bundleIds.forEach((bundleId2) => {
assetNames.push(bundleId2);
});
this.add([...asset.name, ...bundleIds], asset.srcs);
}
this.add(asset.name, asset.srcs);
});
} else {
Object.keys(assets).forEach((key) => {
assetNames.push(key);
this.add(key, assets[key]);
assetNames.push(this._createBundleAssetId(bundleId, key));
this.add([key, this._createBundleAssetId(bundleId, key)], assets[key]);
});

@@ -85,2 +110,3 @@ }

if (this._assetMap[key]) {
console.warn(`[Resolver] already has key: ${key} overwriting`);
}

@@ -122,2 +148,3 @@ });

}
formattedAsset.src = this._appendDefaultSearchParams(formattedAsset.src);
formattedAsset.data = formattedAsset.data ?? data;

@@ -137,3 +164,9 @@ return formattedAsset;

if (assetNames) {
out[bundleId] = this.resolve(assetNames);
const results = this.resolve(assetNames);
const assets = {};
for (const key in results) {
const asset = results[key];
assets[this._extractAssetIdFromBundle(bundleId, key)] = asset;
}
out[bundleId] = assets;
}

@@ -183,2 +216,3 @@ });

}
src = this._appendDefaultSearchParams(src);
this._resolverHash[key] = {

@@ -203,2 +237,8 @@ src

}
_appendDefaultSearchParams(url) {
if (!this._defaultSearchParams)
return url;
const paramConnector = /\?/.test(url) ? "&" : "?";
return `${url}${paramConnector}${this._defaultSearchParams}`;
}
}

@@ -205,0 +245,0 @@

@@ -24,3 +24,3 @@ import type { ExtensionMetadata } from '@pixi/core';

name: string | string[];
srcs: string | ResolveAsset[];
srcs: string | ResolveAsset | (string | ResolveAsset)[];
}[];

@@ -27,0 +27,0 @@ export declare type ResolverAssetsObject = Record<string, (string | ResolveAsset)>;

@@ -0,3 +1,5 @@

export * from './checkDataUrl';
export * from './checkExtension';
export * from './convertToList';
export * from './createStringVariations';
export * from './isSingleItem';

@@ -5,2 +5,4 @@ 'use strict';

var checkDataUrl = require('./checkDataUrl.js');
var checkExtension = require('./checkExtension.js');
var convertToList = require('./convertToList.js');

@@ -12,2 +14,4 @@ var createStringVariations = require('./createStringVariations.js');

exports.checkDataUrl = checkDataUrl.checkDataUrl;
exports.checkExtension = checkExtension.checkExtension;
exports.convertToList = convertToList.convertToList;

@@ -14,0 +18,0 @@ exports.createStringVariations = createStringVariations.createStringVariations;

{
"name": "@pixi/assets",
"version": "7.1.0-alpha",
"version": "7.1.0",
"description": "Asset manager for PixiJS, loading resolving and Cacheing",

@@ -12,3 +12,3 @@ "keywords": [

"author": "Mat Groves <mat.groves@play.co>",
"homepage": "https://github.com/pixijs/pixi.js#readme",
"homepage": "https://github.com/pixijs/pixijs#readme",
"license": "MIT",

@@ -39,3 +39,3 @@ "main": "lib/index.js",

"type": "git",
"url": "git+https://github.com/pixijs/pixi.js.git"
"url": "git+https://github.com/pixijs/pixijs.git"
},

@@ -46,3 +46,3 @@ "scripts": {

"bugs": {
"url": "https://github.com/pixijs/pixi.js/issues"
"url": "https://github.com/pixijs/pixijs/issues"
},

@@ -55,3 +55,3 @@ "dependencies": {

],
"gitHead": "0fb26a500c738cb550da277c112d15d9dd3f87b6"
"gitHead": "4079e92895ecb692afe9f0b15d3e48ee40852ada"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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