diff --git a/.changeset/little-pumas-check.md b/.changeset/little-pumas-check.md new file mode 100644 index 0000000000..5cf4124ec5 --- /dev/null +++ b/.changeset/little-pumas-check.md @@ -0,0 +1,5 @@ +--- +"app-builder-lib": minor +--- + +feat: allow `onNodeModuleFile` to return a boolean to force include the package to be copied diff --git a/docs/configuration/configuration.md b/docs/configuration/configuration.md index b085c28228..2210f751c6 100644 --- a/docs/configuration/configuration.md +++ b/docs/configuration/configuration.md @@ -169,7 +169,7 @@ Env file `electron-builder.env` in the current dir ([example](https://github.com

appxManifestCreated module:app-builder-lib/out/configuration.__type | String | “undefined” - Appx manifest created on disk - not packed into .appx package yet.

  • -

    onNodeModuleFile - The function (or path to file or module id) to be run on each node module file.

    +

    onNodeModuleFile - The function (or path to file or module id) to be run on each node module file. Returning true/false will determine whether to force include or to use the default copier logic

  • beforeBuild (context: BeforeBuildContext) => Promise | null - The function (or path to file or module id) to be run before dependencies are installed or rebuilt. Works when npmRebuild is set to true. Resolving to false will skip dependencies install or rebuild.

    diff --git a/packages/app-builder-lib/scheme.json b/packages/app-builder-lib/scheme.json index 441adba73d..98c0bfe76c 100644 --- a/packages/app-builder-lib/scheme.json +++ b/packages/app-builder-lib/scheme.json @@ -7529,7 +7529,7 @@ ] } ], - "description": "The function (or path to file or module id) to be [run on each node module](#onnodemodulefile) file." + "description": "The function (or path to file or module id) to be [run on each node module](#onnodemodulefile) file. Returning `true`/`false` will determine whether to force include or to use the default copier logic" }, "p5p": { "anyOf": [ diff --git a/packages/app-builder-lib/src/configuration.ts b/packages/app-builder-lib/src/configuration.ts index 147f8e61da..a4344fb239 100644 --- a/packages/app-builder-lib/src/configuration.ts +++ b/packages/app-builder-lib/src/configuration.ts @@ -245,9 +245,9 @@ export interface Configuration extends PlatformSpecificBuildOptions { */ readonly appxManifestCreated?: ((path: string) => Promise | any) | string | null /** - * The function (or path to file or module id) to be [run on each node module](#onnodemodulefile) file. + * The function (or path to file or module id) to be [run on each node module](#onnodemodulefile) file. Returning `true`/`false` will determine whether to force include or to use the default copier logic */ - readonly onNodeModuleFile?: ((file: string) => void) | string | null + readonly onNodeModuleFile?: ((path: string) => void | boolean) | string | null /** * The function (or path to file or module id) to be run before dependencies are installed or rebuilt. Works when `npmRebuild` is set to `true`. Resolving to `false` will skip dependencies install or rebuild. * diff --git a/packages/app-builder-lib/src/util/NodeModuleCopyHelper.ts b/packages/app-builder-lib/src/util/NodeModuleCopyHelper.ts index beb3523f0d..5988fe61f1 100644 --- a/packages/app-builder-lib/src/util/NodeModuleCopyHelper.ts +++ b/packages/app-builder-lib/src/util/NodeModuleCopyHelper.ts @@ -23,8 +23,8 @@ const topLevelExcludedFiles = new Set([ "Readme", "readme", "test", - "__tests__", "tests", + "__tests__", "powered-test", "example", "examples", @@ -64,38 +64,39 @@ export class NodeModuleCopyHelper extends FileCopyHelper { const sortedFilePaths = await BluebirdPromise.map( childNames, name => { - if (onNodeModuleFile != null) { - onNodeModuleFile(dirPath + path.sep + name) - } + const filePath = dirPath + path.sep + name + + const forceIncluded = onNodeModuleFile != null && !!onNodeModuleFile(filePath) if (excludedFiles.has(name) || name.startsWith("._")) { return null } - for (const ext of nodeModuleExcludedExts) { - if (name.endsWith(ext)) { - return null + if (!forceIncluded) { + for (const ext of nodeModuleExcludedExts) { + if (name.endsWith(ext)) { + return null + } } - } - // noinspection SpellCheckingInspection - if (isTopLevel && (topLevelExcludedFiles.has(name) || (moduleName === "libui-node" && (name === "build" || name === "docs" || name === "src")))) { - return null - } + // noinspection SpellCheckingInspection + if (isTopLevel && (topLevelExcludedFiles.has(name) || (moduleName === "libui-node" && (name === "build" || name === "docs" || name === "src")))) { + return null + } - if (dirPath.endsWith("build")) { - if (name === "gyp-mac-tool" || name === "Makefile" || name.endsWith(".mk") || name.endsWith(".gypi") || name.endsWith(".Makefile")) { + if (dirPath.endsWith("build")) { + if (name === "gyp-mac-tool" || name === "Makefile" || name.endsWith(".mk") || name.endsWith(".gypi") || name.endsWith(".Makefile")) { + return null + } + } else if (dirPath.endsWith("Release") && (name === ".deps" || name === "obj.target")) { + return null + } else if (name === "src" && (dirPath.endsWith("keytar") || dirPath.endsWith("keytar-prebuild"))) { + return null + } else if (dirPath.endsWith("lzma-native") && (name === "build" || name === "deps")) { return null } - } else if (dirPath.endsWith("Release") && (name === ".deps" || name === "obj.target")) { - return null - } else if (name === "src" && (dirPath.endsWith("keytar") || dirPath.endsWith("keytar-prebuild"))) { - return null - } else if (dirPath.endsWith("lzma-native") && (name === "build" || name === "deps")) { - return null } - const filePath = dirPath + path.sep + name return lstat(filePath).then(stat => { if (filter != null && !filter(filePath, stat)) { return null diff --git a/test/snapshots/BuildTest.js.snap b/test/snapshots/BuildTest.js.snap index 5550a5b016..5a699bc78e 100644 --- a/test/snapshots/BuildTest.js.snap +++ b/test/snapshots/BuildTest.js.snap @@ -219,6 +219,348 @@ Object { `; exports[`posix smart unpack 2`] = ` +Object { + "data": Array [ + 35, + 35, + 32, + 77, + 103, + 79, + 112, + 101, + 110, + 32, + 116, + 121, + 112, + 101, + 102, + 97, + 99, + 101, + 115, + 10, + 10, + 35, + 32, + 83, + 111, + 117, + 114, + 99, + 101, + 32, + 97, + 110, + 100, + 32, + 76, + 105, + 99, + 101, + 110, + 115, + 101, + 10, + 10, + 104, + 116, + 116, + 112, + 115, + 58, + 47, + 47, + 119, + 101, + 98, + 46, + 97, + 114, + 99, + 104, + 105, + 118, + 101, + 46, + 111, + 114, + 103, + 47, + 119, + 101, + 98, + 47, + 50, + 48, + 48, + 53, + 48, + 53, + 50, + 56, + 49, + 49, + 52, + 49, + 52, + 48, + 47, + 104, + 116, + 116, + 112, + 115, + 58, + 47, + 47, + 101, + 108, + 108, + 97, + 107, + 46, + 103, + 114, + 47, + 102, + 111, + 110, + 116, + 115, + 47, + 109, + 103, + 111, + 112, + 101, + 110, + 47, + 105, + 110, + 100, + 101, + 120, + 46, + 101, + 110, + 10, + 10, + 35, + 32, + 85, + 115, + 97, + 103, + 101, + 10, + 10, + 85, + 115, + 101, + 32, + 70, + 97, + 99, + 101, + 116, + 121, + 112, + 101, + 46, + 106, + 115, + 32, + 116, + 111, + 32, + 103, + 101, + 110, + 101, + 114, + 97, + 116, + 101, + 32, + 116, + 121, + 112, + 101, + 102, + 97, + 99, + 101, + 46, + 106, + 115, + 111, + 110, + 32, + 102, + 111, + 110, + 116, + 115, + 58, + 32, + 104, + 116, + 116, + 112, + 115, + 58, + 47, + 47, + 103, + 101, + 114, + 111, + 51, + 46, + 103, + 105, + 116, + 104, + 117, + 98, + 46, + 105, + 111, + 47, + 102, + 97, + 99, + 101, + 116, + 121, + 112, + 101, + 46, + 106, + 115, + 47, + 10, + 10, + 67, + 111, + 108, + 108, + 101, + 99, + 116, + 105, + 111, + 110, + 32, + 111, + 102, + 32, + 71, + 111, + 111, + 103, + 108, + 101, + 32, + 102, + 111, + 110, + 116, + 115, + 32, + 97, + 115, + 32, + 116, + 121, + 112, + 101, + 102, + 97, + 99, + 101, + 32, + 100, + 97, + 116, + 97, + 32, + 102, + 111, + 114, + 32, + 117, + 115, + 97, + 103, + 101, + 32, + 119, + 105, + 116, + 104, + 32, + 116, + 104, + 114, + 101, + 101, + 46, + 106, + 115, + 58, + 32, + 104, + 116, + 116, + 112, + 115, + 58, + 47, + 47, + 103, + 105, + 116, + 104, + 117, + 98, + 46, + 99, + 111, + 109, + 47, + 99, + 111, + 109, + 112, + 111, + 110, + 101, + 110, + 116, + 115, + 45, + 97, + 105, + 47, + 116, + 121, + 112, + 101, + 102, + 97, + 99, + 101, + 115, + 10, + ], + "type": "Buffer", +} +`; + +exports[`posix smart unpack 3`] = ` Object { "files": Object { "app": Object { @@ -1427,77 +1769,3330 @@ Object { }, }, }, - "tunnel-agent": Object { - "files": Object { - "LICENSE": Object { - "size": "", - }, - "index.js": Object { - "size": "", - }, - "package.json": Object { - "size": "", - }, - }, - }, - "util-deprecate": Object { - "files": Object { - "History.md": Object { - "size": "", - }, - "LICENSE": Object { - "size": "", - }, - "browser.js": Object { - "size": "", - }, - "node.js": Object { - "size": "", - }, - "package.json": Object { - "size": "", - }, - }, - }, - "wrappy": Object { - "files": Object { - "LICENSE": Object { - "size": "", - }, - "package.json": Object { - "size": "", - }, - "wrappy.js": Object { - "size": "", - }, - }, - }, - "yallist": Object { + "three": Object { "files": Object { "LICENSE": Object { "size": "", }, - "iterator.js": Object { - "size": "", - }, - "package.json": Object { - "size": "", - }, - "yallist.js": Object { - "size": "", + "build": Object { + "files": Object { + "three.cjs": Object { + "size": "", + }, + "three.js": Object { + "size": "", + }, + "three.min.js": Object { + "size": "", + }, + "three.module.js": Object { + "size": "", + }, + "three.module.min.js": Object { + "size": "", + }, + }, }, - }, - }, - }, - }, - "package.json": Object { - "size": "", - }, - }, -} -`; - -exports[`posix smart unpack 3`] = ` + "examples": Object { + "files": Object { + "fonts": Object { + "files": Object { + "LICENSE": Object { + "size": "", + }, + "README.md": Object { + "size": "", + }, + "droid": Object { + "files": Object { + "NOTICE": Object { + "size": "", + }, + "README.txt": Object { + "size": "", + }, + "droid_sans_bold.typeface.json": Object { + "size": "", + }, + "droid_sans_mono_regular.typeface.json": Object { + "size": "", + }, + "droid_sans_regular.typeface.json": Object { + "size": "", + }, + "droid_serif_bold.typeface.json": Object { + "size": "", + }, + "droid_serif_regular.typeface.json": Object { + "size": "", + }, + }, + }, + "gentilis_bold.typeface.json": Object { + "size": "", + }, + "gentilis_regular.typeface.json": Object { + "size": "", + }, + "helvetiker_bold.typeface.json": Object { + "size": "", + }, + "helvetiker_regular.typeface.json": Object { + "size": "", + }, + "optimer_bold.typeface.json": Object { + "size": "", + }, + "optimer_regular.typeface.json": Object { + "size": "", + }, + "ttf": Object { + "files": Object { + "README.md": Object { + "size": "", + }, + "kenpixel.ttf": Object { + "size": "", + }, + }, + }, + }, + }, + "jsm": Object { + "files": Object { + "Addons.js": Object { + "size": "", + }, + "animation": Object { + "files": Object { + "AnimationClipCreator.js": Object { + "size": "", + }, + "CCDIKSolver.js": Object { + "size": "", + }, + "MMDAnimationHelper.js": Object { + "size": "", + }, + "MMDPhysics.js": Object { + "size": "", + }, + }, + }, + "cameras": Object { + "files": Object { + "CinematicCamera.js": Object { + "size": "", + }, + }, + }, + "capabilities": Object { + "files": Object { + "WebGL.js": Object { + "size": "", + }, + "WebGPU.js": Object { + "size": "", + }, + }, + }, + "controls": Object { + "files": Object { + "ArcballControls.js": Object { + "size": "", + }, + "DragControls.js": Object { + "size": "", + }, + "FirstPersonControls.js": Object { + "size": "", + }, + "FlyControls.js": Object { + "size": "", + }, + "MapControls.js": Object { + "size": "", + }, + "OrbitControls.js": Object { + "size": "", + }, + "PointerLockControls.js": Object { + "size": "", + }, + "TrackballControls.js": Object { + "size": "", + }, + "TransformControls.js": Object { + "size": "", + }, + }, + }, + "csm": Object { + "files": Object { + "CSM.js": Object { + "size": "", + }, + "CSMFrustum.js": Object { + "size": "", + }, + "CSMHelper.js": Object { + "size": "", + }, + "CSMShader.js": Object { + "size": "", + }, + }, + }, + "curves": Object { + "files": Object { + "CurveExtras.js": Object { + "size": "", + }, + "NURBSCurve.js": Object { + "size": "", + }, + "NURBSSurface.js": Object { + "size": "", + }, + "NURBSUtils.js": Object { + "size": "", + }, + }, + }, + "effects": Object { + "files": Object { + "AnaglyphEffect.js": Object { + "size": "", + }, + "AsciiEffect.js": Object { + "size": "", + }, + "OutlineEffect.js": Object { + "size": "", + }, + "ParallaxBarrierEffect.js": Object { + "size": "", + }, + "PeppersGhostEffect.js": Object { + "size": "", + }, + "StereoEffect.js": Object { + "size": "", + }, + }, + }, + "environments": Object { + "files": Object { + "DebugEnvironment.js": Object { + "size": "", + }, + "RoomEnvironment.js": Object { + "size": "", + }, + }, + }, + "exporters": Object { + "files": Object { + "DRACOExporter.js": Object { + "size": "", + }, + "EXRExporter.js": Object { + "size": "", + }, + "GLTFExporter.js": Object { + "size": "", + }, + "KTX2Exporter.js": Object { + "size": "", + }, + "MMDExporter.js": Object { + "size": "", + }, + "OBJExporter.js": Object { + "size": "", + }, + "PLYExporter.js": Object { + "size": "", + }, + "STLExporter.js": Object { + "size": "", + }, + "USDZExporter.js": Object { + "size": "", + }, + }, + }, + "geometries": Object { + "files": Object { + "BoxLineGeometry.js": Object { + "size": "", + }, + "ConvexGeometry.js": Object { + "size": "", + }, + "DecalGeometry.js": Object { + "size": "", + }, + "InstancedPointsGeometry.js": Object { + "size": "", + }, + "ParametricGeometries.js": Object { + "size": "", + }, + "ParametricGeometry.js": Object { + "size": "", + }, + "RoundedBoxGeometry.js": Object { + "size": "", + }, + "SDFGeometryGenerator.js": Object { + "size": "", + }, + "TeapotGeometry.js": Object { + "size": "", + }, + "TextGeometry.js": Object { + "size": "", + }, + }, + }, + "helpers": Object { + "files": Object { + "LightProbeHelper.js": Object { + "size": "", + }, + "OctreeHelper.js": Object { + "size": "", + }, + "PositionalAudioHelper.js": Object { + "size": "", + }, + "RectAreaLightHelper.js": Object { + "size": "", + }, + "TextureHelper.js": Object { + "size": "", + }, + "VertexNormalsHelper.js": Object { + "size": "", + }, + "VertexTangentsHelper.js": Object { + "size": "", + }, + "ViewHelper.js": Object { + "size": "", + }, + }, + }, + "interactive": Object { + "files": Object { + "HTMLMesh.js": Object { + "size": "", + }, + "InteractiveGroup.js": Object { + "size": "", + }, + "SelectionBox.js": Object { + "size": "", + }, + "SelectionHelper.js": Object { + "size": "", + }, + }, + }, + "libs": Object { + "files": Object { + "ammo.wasm.js": Object { + "size": "", + }, + "ammo.wasm.wasm": Object { + "size": "", + }, + "basis": Object { + "files": Object { + "README.md": Object { + "size": "", + }, + "basis_transcoder.js": Object { + "size": "", + }, + "basis_transcoder.wasm": Object { + "size": "", + }, + }, + }, + "chevrotain.module.min.js": Object { + "size": "", + }, + "draco": Object { + "files": Object { + "README.md": Object { + "size": "", + }, + "draco_decoder.js": Object { + "size": "", + }, + "draco_decoder.wasm": Object { + "size": "", + }, + "draco_encoder.js": Object { + "size": "", + }, + "draco_wasm_wrapper.js": Object { + "size": "", + }, + "gltf": Object { + "files": Object { + "draco_decoder.js": Object { + "size": "", + }, + "draco_decoder.wasm": Object { + "size": "", + }, + "draco_encoder.js": Object { + "executable": true, + "size": "", + }, + "draco_wasm_wrapper.js": Object { + "size": "", + }, + }, + }, + }, + }, + "ecsy.module.js": Object { + "size": "", + }, + "fflate.module.js": Object { + "size": "", + }, + "ktx-parse.module.js": Object { + "size": "", + }, + "lil-gui.module.min.js": Object { + "size": "", + }, + "lottie_canvas.module.js": Object { + "size": "", + }, + "meshopt_decoder.module.js": Object { + "size": "", + }, + "mikktspace.module.js": Object { + "size": "", + }, + "mmdparser.module.js": Object { + "size": "", + }, + "motion-controllers.module.js": Object { + "size": "", + }, + "opentype.module.js": Object { + "size": "", + }, + "potpack.module.js": Object { + "size": "", + }, + "rhino3dm": Object { + "files": Object { + "rhino3dm.js": Object { + "size": "", + }, + "rhino3dm.module.js": Object { + "size": "", + }, + "rhino3dm.wasm": Object { + "size": "", + }, + }, + }, + "stats.module.js": Object { + "size": "", + }, + "surfaceNet.js": Object { + "size": "", + }, + "tween.module.js": Object { + "size": "", + }, + "utif.module.js": Object { + "size": "", + }, + "zstddec.module.js": Object { + "size": "", + }, + }, + }, + "lights": Object { + "files": Object { + "IESSpotLight.js": Object { + "size": "", + }, + "LightProbeGenerator.js": Object { + "size": "", + }, + "RectAreaLightUniformsLib.js": Object { + "size": "", + }, + }, + }, + "lines": Object { + "files": Object { + "Line2.js": Object { + "size": "", + }, + "LineGeometry.js": Object { + "size": "", + }, + "LineMaterial.js": Object { + "size": "", + }, + "LineSegments2.js": Object { + "size": "", + }, + "LineSegmentsGeometry.js": Object { + "size": "", + }, + "Wireframe.js": Object { + "size": "", + }, + "WireframeGeometry2.js": Object { + "size": "", + }, + }, + }, + "loaders": Object { + "files": Object { + "3DMLoader.js": Object { + "size": "", + }, + "3MFLoader.js": Object { + "size": "", + }, + "AMFLoader.js": Object { + "size": "", + }, + "BVHLoader.js": Object { + "size": "", + }, + "ColladaLoader.js": Object { + "size": "", + }, + "DDSLoader.js": Object { + "size": "", + }, + "DRACOLoader.js": Object { + "size": "", + }, + "EXRLoader.js": Object { + "size": "", + }, + "FBXLoader.js": Object { + "size": "", + }, + "FontLoader.js": Object { + "size": "", + }, + "GCodeLoader.js": Object { + "size": "", + }, + "GLTFLoader.js": Object { + "size": "", + }, + "HDRCubeTextureLoader.js": Object { + "size": "", + }, + "IESLoader.js": Object { + "size": "", + }, + "KMZLoader.js": Object { + "size": "", + }, + "KTX2Loader.js": Object { + "size": "", + }, + "KTXLoader.js": Object { + "size": "", + }, + "LDrawLoader.js": Object { + "size": "", + }, + "LUT3dlLoader.js": Object { + "size": "", + }, + "LUTCubeLoader.js": Object { + "size": "", + }, + "LUTImageLoader.js": Object { + "size": "", + }, + "LWOLoader.js": Object { + "size": "", + }, + "LogLuvLoader.js": Object { + "size": "", + }, + "LottieLoader.js": Object { + "size": "", + }, + "MD2Loader.js": Object { + "size": "", + }, + "MDDLoader.js": Object { + "size": "", + }, + "MMDLoader.js": Object { + "size": "", + }, + "MTLLoader.js": Object { + "size": "", + }, + "MaterialXLoader.js": Object { + "size": "", + }, + "NRRDLoader.js": Object { + "size": "", + }, + "OBJLoader.js": Object { + "size": "", + }, + "PCDLoader.js": Object { + "size": "", + }, + "PDBLoader.js": Object { + "size": "", + }, + "PLYLoader.js": Object { + "size": "", + }, + "PVRLoader.js": Object { + "size": "", + }, + "RGBELoader.js": Object { + "size": "", + }, + "RGBMLoader.js": Object { + "size": "", + }, + "STLLoader.js": Object { + "size": "", + }, + "SVGLoader.js": Object { + "size": "", + }, + "TDSLoader.js": Object { + "size": "", + }, + "TGALoader.js": Object { + "size": "", + }, + "TIFFLoader.js": Object { + "size": "", + }, + "TTFLoader.js": Object { + "size": "", + }, + "TiltLoader.js": Object { + "size": "", + }, + "USDZLoader.js": Object { + "size": "", + }, + "VOXLoader.js": Object { + "size": "", + }, + "VRMLLoader.js": Object { + "size": "", + }, + "VTKLoader.js": Object { + "size": "", + }, + "XYZLoader.js": Object { + "size": "", + }, + "lwo": Object { + "files": Object { + "IFFParser.js": Object { + "size": "", + }, + "LWO2Parser.js": Object { + "size": "", + }, + "LWO3Parser.js": Object { + "size": "", + }, + }, + }, + }, + }, + "materials": Object { + "files": Object { + "MeshGouraudMaterial.js": Object { + "size": "", + }, + }, + }, + "math": Object { + "files": Object { + "Capsule.js": Object { + "size": "", + }, + "ColorConverter.js": Object { + "size": "", + }, + "ConvexHull.js": Object { + "size": "", + }, + "ImprovedNoise.js": Object { + "size": "", + }, + "Lut.js": Object { + "size": "", + }, + "MeshSurfaceSampler.js": Object { + "size": "", + }, + "OBB.js": Object { + "size": "", + }, + "Octree.js": Object { + "size": "", + }, + "SimplexNoise.js": Object { + "size": "", + }, + }, + }, + "misc": Object { + "files": Object { + "ConvexObjectBreaker.js": Object { + "size": "", + }, + "GPUComputationRenderer.js": Object { + "size": "", + }, + "Gyroscope.js": Object { + "size": "", + }, + "MD2Character.js": Object { + "size": "", + }, + "MD2CharacterComplex.js": Object { + "size": "", + }, + "MorphAnimMesh.js": Object { + "size": "", + }, + "MorphBlendMesh.js": Object { + "size": "", + }, + "ProgressiveLightMap.js": Object { + "size": "", + }, + "RollerCoaster.js": Object { + "size": "", + }, + "Timer.js": Object { + "size": "", + }, + "TubePainter.js": Object { + "size": "", + }, + "Volume.js": Object { + "size": "", + }, + "VolumeSlice.js": Object { + "size": "", + }, + }, + }, + "modifiers": Object { + "files": Object { + "CurveModifier.js": Object { + "size": "", + }, + "EdgeSplitModifier.js": Object { + "size": "", + }, + "SimplifyModifier.js": Object { + "size": "", + }, + "TessellateModifier.js": Object { + "size": "", + }, + }, + }, + "nodes": Object { + "files": Object { + "Nodes.js": Object { + "size": "", + }, + "accessors": Object { + "files": Object { + "BitangentNode.js": Object { + "size": "", + }, + "BufferAttributeNode.js": Object { + "size": "", + }, + "BufferNode.js": Object { + "size": "", + }, + "CameraNode.js": Object { + "size": "", + }, + "CubeTextureNode.js": Object { + "size": "", + }, + "InstanceNode.js": Object { + "size": "", + }, + "InstancedPointsMaterialNode.js": Object { + "size": "", + }, + "MaterialNode.js": Object { + "size": "", + }, + "MaterialReferenceNode.js": Object { + "size": "", + }, + "ModelNode.js": Object { + "size": "", + }, + "ModelViewProjectionNode.js": Object { + "size": "", + }, + "MorphNode.js": Object { + "size": "", + }, + "NormalNode.js": Object { + "size": "", + }, + "Object3DNode.js": Object { + "size": "", + }, + "PointUVNode.js": Object { + "size": "", + }, + "PositionNode.js": Object { + "size": "", + }, + "ReferenceNode.js": Object { + "size": "", + }, + "ReflectVectorNode.js": Object { + "size": "", + }, + "SceneNode.js": Object { + "size": "", + }, + "SkinningNode.js": Object { + "size": "", + }, + "StorageBufferNode.js": Object { + "size": "", + }, + "TangentNode.js": Object { + "size": "", + }, + "TextureBicubicNode.js": Object { + "size": "", + }, + "TextureNode.js": Object { + "size": "", + }, + "TextureSizeNode.js": Object { + "size": "", + }, + "TextureStoreNode.js": Object { + "size": "", + }, + "UVNode.js": Object { + "size": "", + }, + "UserDataNode.js": Object { + "size": "", + }, + }, + }, + "code": Object { + "files": Object { + "CodeNode.js": Object { + "size": "", + }, + "ExpressionNode.js": Object { + "size": "", + }, + "FunctionCallNode.js": Object { + "size": "", + }, + "FunctionNode.js": Object { + "size": "", + }, + "ScriptableNode.js": Object { + "size": "", + }, + "ScriptableValueNode.js": Object { + "size": "", + }, + }, + }, + "core": Object { + "files": Object { + "ArrayUniformNode.js": Object { + "size": "", + }, + "AssignNode.js": Object { + "size": "", + }, + "AttributeNode.js": Object { + "size": "", + }, + "BypassNode.js": Object { + "size": "", + }, + "CacheNode.js": Object { + "size": "", + }, + "ConstNode.js": Object { + "size": "", + }, + "ContextNode.js": Object { + "size": "", + }, + "IndexNode.js": Object { + "size": "", + }, + "InputNode.js": Object { + "size": "", + }, + "LightingModel.js": Object { + "size": "", + }, + "Node.js": Object { + "size": "", + }, + "NodeAttribute.js": Object { + "size": "", + }, + "NodeBuilder.js": Object { + "size": "", + }, + "NodeCache.js": Object { + "size": "", + }, + "NodeCode.js": Object { + "size": "", + }, + "NodeFrame.js": Object { + "size": "", + }, + "NodeFunction.js": Object { + "size": "", + }, + "NodeFunctionInput.js": Object { + "size": "", + }, + "NodeKeywords.js": Object { + "size": "", + }, + "NodeParser.js": Object { + "size": "", + }, + "NodeUniform.js": Object { + "size": "", + }, + "NodeUtils.js": Object { + "size": "", + }, + "NodeVar.js": Object { + "size": "", + }, + "NodeVarying.js": Object { + "size": "", + }, + "OutputStructNode.js": Object { + "size": "", + }, + "ParameterNode.js": Object { + "size": "", + }, + "PropertyNode.js": Object { + "size": "", + }, + "StackNode.js": Object { + "size": "", + }, + "StructTypeNode.js": Object { + "size": "", + }, + "TempNode.js": Object { + "size": "", + }, + "UniformGroup.js": Object { + "size": "", + }, + "UniformGroupNode.js": Object { + "size": "", + }, + "UniformNode.js": Object { + "size": "", + }, + "VarNode.js": Object { + "size": "", + }, + "VaryingNode.js": Object { + "size": "", + }, + "constants.js": Object { + "size": "", + }, + }, + }, + "display": Object { + "files": Object { + "BlendModeNode.js": Object { + "size": "", + }, + "BumpMapNode.js": Object { + "size": "", + }, + "ColorAdjustmentNode.js": Object { + "size": "", + }, + "ColorSpaceNode.js": Object { + "size": "", + }, + "FrontFacingNode.js": Object { + "size": "", + }, + "GaussianBlurNode.js": Object { + "size": "", + }, + "NormalMapNode.js": Object { + "size": "", + }, + "PassNode.js": Object { + "size": "", + }, + "PosterizeNode.js": Object { + "size": "", + }, + "ToneMappingNode.js": Object { + "size": "", + }, + "ViewportDepthNode.js": Object { + "size": "", + }, + "ViewportDepthTextureNode.js": Object { + "size": "", + }, + "ViewportNode.js": Object { + "size": "", + }, + "ViewportSharedTextureNode.js": Object { + "size": "", + }, + "ViewportTextureNode.js": Object { + "size": "", + }, + }, + }, + "fog": Object { + "files": Object { + "FogExp2Node.js": Object { + "size": "", + }, + "FogNode.js": Object { + "size": "", + }, + "FogRangeNode.js": Object { + "size": "", + }, + }, + }, + "functions": Object { + "files": Object { + "BSDF": Object { + "files": Object { + "BRDF_GGX.js": Object { + "size": "", + }, + "BRDF_Lambert.js": Object { + "size": "", + }, + "BRDF_Sheen.js": Object { + "size": "", + }, + "DFGApprox.js": Object { + "size": "", + }, + "D_GGX.js": Object { + "size": "", + }, + "EnvironmentBRDF.js": Object { + "size": "", + }, + "F_Schlick.js": Object { + "size": "", + }, + "Schlick_to_F0.js": Object { + "size": "", + }, + "V_GGX_SmithCorrelated.js": Object { + "size": "", + }, + }, + }, + "PhongLightingModel.js": Object { + "size": "", + }, + "PhysicalLightingModel.js": Object { + "size": "", + }, + "material": Object { + "files": Object { + "getGeometryRoughness.js": Object { + "size": "", + }, + "getRoughness.js": Object { + "size": "", + }, + }, + }, + }, + }, + "geometry": Object { + "files": Object { + "RangeNode.js": Object { + "size": "", + }, + }, + }, + "gpgpu": Object { + "files": Object { + "ComputeNode.js": Object { + "size": "", + }, + }, + }, + "lighting": Object { + "files": Object { + "AONode.js": Object { + "size": "", + }, + "AmbientLightNode.js": Object { + "size": "", + }, + "AnalyticLightNode.js": Object { + "size": "", + }, + "DirectionalLightNode.js": Object { + "size": "", + }, + "EnvironmentNode.js": Object { + "size": "", + }, + "HemisphereLightNode.js": Object { + "size": "", + }, + "IESSpotLightNode.js": Object { + "size": "", + }, + "LightNode.js": Object { + "size": "", + }, + "LightUtils.js": Object { + "size": "", + }, + "LightingContextNode.js": Object { + "size": "", + }, + "LightingNode.js": Object { + "size": "", + }, + "LightsNode.js": Object { + "size": "", + }, + "PointLightNode.js": Object { + "size": "", + }, + "SpotLightNode.js": Object { + "size": "", + }, + }, + }, + "loaders": Object { + "files": Object { + "NodeLoader.js": Object { + "size": "", + }, + "NodeMaterialLoader.js": Object { + "size": "", + }, + "NodeObjectLoader.js": Object { + "size": "", + }, + }, + }, + "materials": Object { + "files": Object { + "InstancedPointsNodeMaterial.js": Object { + "size": "", + }, + "Line2NodeMaterial.js": Object { + "size": "", + }, + "LineBasicNodeMaterial.js": Object { + "size": "", + }, + "LineDashedNodeMaterial.js": Object { + "size": "", + }, + "Materials.js": Object { + "size": "", + }, + "MeshBasicNodeMaterial.js": Object { + "size": "", + }, + "MeshLambertNodeMaterial.js": Object { + "size": "", + }, + "MeshNormalNodeMaterial.js": Object { + "size": "", + }, + "MeshPhongNodeMaterial.js": Object { + "size": "", + }, + "MeshPhysicalNodeMaterial.js": Object { + "size": "", + }, + "MeshStandardNodeMaterial.js": Object { + "size": "", + }, + "NodeMaterial.js": Object { + "size": "", + }, + "PointsNodeMaterial.js": Object { + "size": "", + }, + "SpriteNodeMaterial.js": Object { + "size": "", + }, + }, + }, + "materialx": Object { + "files": Object { + "DISCLAIMER.md": Object { + "size": "", + }, + "MaterialXNodes.js": Object { + "size": "", + }, + "lib": Object { + "files": Object { + "mx_hsv.js": Object { + "size": "", + }, + "mx_noise.js": Object { + "size": "", + }, + "mx_transform_color.js": Object { + "size": "", + }, + }, + }, + }, + }, + "math": Object { + "files": Object { + "CondNode.js": Object { + "size": "", + }, + "HashNode.js": Object { + "size": "", + }, + "MathNode.js": Object { + "size": "", + }, + "OperatorNode.js": Object { + "size": "", + }, + }, + }, + "parsers": Object { + "files": Object { + "GLSLNodeFunction.js": Object { + "size": "", + }, + "GLSLNodeParser.js": Object { + "size": "", + }, + }, + }, + "procedural": Object { + "files": Object { + "CheckerNode.js": Object { + "size": "", + }, + }, + }, + "shadernode": Object { + "files": Object { + "ShaderNode.js": Object { + "size": "", + }, + }, + }, + "utils": Object { + "files": Object { + "ArrayElementNode.js": Object { + "size": "", + }, + "ConvertNode.js": Object { + "size": "", + }, + "DiscardNode.js": Object { + "size": "", + }, + "EquirectUVNode.js": Object { + "size": "", + }, + "FunctionOverloadingNode.js": Object { + "size": "", + }, + "JoinNode.js": Object { + "size": "", + }, + "LoopNode.js": Object { + "size": "", + }, + "MatcapUVNode.js": Object { + "size": "", + }, + "MaxMipLevelNode.js": Object { + "size": "", + }, + "OscNode.js": Object { + "size": "", + }, + "PackingNode.js": Object { + "size": "", + }, + "RemapNode.js": Object { + "size": "", + }, + "RotateUVNode.js": Object { + "size": "", + }, + "SetNode.js": Object { + "size": "", + }, + "SpecularMIPLevelNode.js": Object { + "size": "", + }, + "SplitNode.js": Object { + "size": "", + }, + "SpriteSheetUVNode.js": Object { + "size": "", + }, + "TimerNode.js": Object { + "size": "", + }, + "TriplanarTexturesNode.js": Object { + "size": "", + }, + }, + }, + }, + }, + "objects": Object { + "files": Object { + "GroundProjectedSkybox.js": Object { + "size": "", + }, + "InstancedPoints.js": Object { + "size": "", + }, + "Lensflare.js": Object { + "size": "", + }, + "MarchingCubes.js": Object { + "size": "", + }, + "QuadMesh.js": Object { + "size": "", + }, + "Reflector.js": Object { + "size": "", + }, + "ReflectorForSSRPass.js": Object { + "size": "", + }, + "Refractor.js": Object { + "size": "", + }, + "ShadowMesh.js": Object { + "size": "", + }, + "Sky.js": Object { + "size": "", + }, + "Water.js": Object { + "size": "", + }, + "Water2.js": Object { + "size": "", + }, + }, + }, + "offscreen": Object { + "files": Object { + "jank.js": Object { + "size": "", + }, + "offscreen.js": Object { + "size": "", + }, + "scene.js": Object { + "size": "", + }, + }, + }, + "physics": Object { + "files": Object { + "AmmoPhysics.js": Object { + "size": "", + }, + "RapierPhysics.js": Object { + "size": "", + }, + }, + }, + "postprocessing": Object { + "files": Object { + "AfterimagePass.js": Object { + "size": "", + }, + "BloomPass.js": Object { + "size": "", + }, + "BokehPass.js": Object { + "size": "", + }, + "ClearPass.js": Object { + "size": "", + }, + "CubeTexturePass.js": Object { + "size": "", + }, + "DotScreenPass.js": Object { + "size": "", + }, + "EffectComposer.js": Object { + "size": "", + }, + "FilmPass.js": Object { + "size": "", + }, + "GTAOPass.js": Object { + "size": "", + }, + "GlitchPass.js": Object { + "size": "", + }, + "HalftonePass.js": Object { + "size": "", + }, + "LUTPass.js": Object { + "size": "", + }, + "MaskPass.js": Object { + "size": "", + }, + "OutlinePass.js": Object { + "size": "", + }, + "OutputPass.js": Object { + "size": "", + }, + "Pass.js": Object { + "size": "", + }, + "RenderPass.js": Object { + "size": "", + }, + "RenderPixelatedPass.js": Object { + "size": "", + }, + "SAOPass.js": Object { + "size": "", + }, + "SMAAPass.js": Object { + "size": "", + }, + "SSAARenderPass.js": Object { + "size": "", + }, + "SSAOPass.js": Object { + "size": "", + }, + "SSRPass.js": Object { + "size": "", + }, + "SavePass.js": Object { + "size": "", + }, + "ShaderPass.js": Object { + "size": "", + }, + "TAARenderPass.js": Object { + "size": "", + }, + "TexturePass.js": Object { + "size": "", + }, + "UnrealBloomPass.js": Object { + "size": "", + }, + }, + }, + "renderers": Object { + "files": Object { + "CSS2DRenderer.js": Object { + "size": "", + }, + "CSS3DRenderer.js": Object { + "size": "", + }, + "Projector.js": Object { + "size": "", + }, + "SVGRenderer.js": Object { + "size": "", + }, + "common": Object { + "files": Object { + "Animation.js": Object { + "size": "", + }, + "Attributes.js": Object { + "size": "", + }, + "Backend.js": Object { + "size": "", + }, + "Background.js": Object { + "size": "", + }, + "Binding.js": Object { + "size": "", + }, + "Bindings.js": Object { + "size": "", + }, + "Buffer.js": Object { + "size": "", + }, + "BufferUtils.js": Object { + "size": "", + }, + "ChainMap.js": Object { + "size": "", + }, + "Color4.js": Object { + "size": "", + }, + "ComputePipeline.js": Object { + "size": "", + }, + "Constants.js": Object { + "size": "", + }, + "CubeRenderTarget.js": Object { + "size": "", + }, + "DataMap.js": Object { + "size": "", + }, + "Geometries.js": Object { + "size": "", + }, + "Info.js": Object { + "size": "", + }, + "Pipeline.js": Object { + "size": "", + }, + "Pipelines.js": Object { + "size": "", + }, + "PostProcessing.js": Object { + "size": "", + }, + "ProgrammableStage.js": Object { + "size": "", + }, + "RenderContext.js": Object { + "size": "", + }, + "RenderContexts.js": Object { + "size": "", + }, + "RenderList.js": Object { + "size": "", + }, + "RenderLists.js": Object { + "size": "", + }, + "RenderObject.js": Object { + "size": "", + }, + "RenderObjects.js": Object { + "size": "", + }, + "RenderPipeline.js": Object { + "size": "", + }, + "Renderer.js": Object { + "size": "", + }, + "SampledTexture.js": Object { + "size": "", + }, + "Sampler.js": Object { + "size": "", + }, + "StorageBuffer.js": Object { + "size": "", + }, + "StorageTexture.js": Object { + "size": "", + }, + "Textures.js": Object { + "size": "", + }, + "Uniform.js": Object { + "size": "", + }, + "UniformBuffer.js": Object { + "size": "", + }, + "UniformsGroup.js": Object { + "size": "", + }, + "nodes": Object { + "files": Object { + "NodeBuilderState.js": Object { + "size": "", + }, + "NodeSampledTexture.js": Object { + "size": "", + }, + "NodeSampler.js": Object { + "size": "", + }, + "NodeUniform.js": Object { + "size": "", + }, + "NodeUniformsGroup.js": Object { + "size": "", + }, + "Nodes.js": Object { + "size": "", + }, + }, + }, + }, + }, + "webgl": Object { + "files": Object { + "WebGLBackend.js": Object { + "size": "", + }, + "nodes": Object { + "files": Object { + "GLSLNodeBuilder.js": Object { + "size": "", + }, + }, + }, + "utils": Object { + "files": Object { + "WebGLAttributeUtils.js": Object { + "size": "", + }, + "WebGLCapabilities.js": Object { + "size": "", + }, + "WebGLExtensions.js": Object { + "size": "", + }, + "WebGLState.js": Object { + "size": "", + }, + "WebGLTextureUtils.js": Object { + "size": "", + }, + "WebGLUtils.js": Object { + "size": "", + }, + }, + }, + }, + }, + "webgl-legacy": Object { + "files": Object { + "nodes": Object { + "files": Object { + "GLSL1NodeBuilder.js": Object { + "size": "", + }, + "SlotNode.js": Object { + "size": "", + }, + "WebGLNodeBuilder.js": Object { + "size": "", + }, + "WebGLNodes.js": Object { + "size": "", + }, + }, + }, + }, + }, + "webgpu": Object { + "files": Object { + "WebGPUBackend.js": Object { + "size": "", + }, + "WebGPURenderer.js": Object { + "size": "", + }, + "nodes": Object { + "files": Object { + "WGSLNodeBuilder.js": Object { + "size": "", + }, + "WGSLNodeFunction.js": Object { + "size": "", + }, + "WGSLNodeParser.js": Object { + "size": "", + }, + }, + }, + "utils": Object { + "files": Object { + "WebGPUAttributeUtils.js": Object { + "size": "", + }, + "WebGPUBindingUtils.js": Object { + "size": "", + }, + "WebGPUConstants.js": Object { + "size": "", + }, + "WebGPUPipelineUtils.js": Object { + "size": "", + }, + "WebGPUTexturePassUtils.js": Object { + "size": "", + }, + "WebGPUTextureUtils.js": Object { + "size": "", + }, + "WebGPUUtils.js": Object { + "size": "", + }, + }, + }, + }, + }, + }, + }, + "shaders": Object { + "files": Object { + "ACESFilmicToneMappingShader.js": Object { + "size": "", + }, + "AfterimageShader.js": Object { + "size": "", + }, + "BasicShader.js": Object { + "size": "", + }, + "BleachBypassShader.js": Object { + "size": "", + }, + "BlendShader.js": Object { + "size": "", + }, + "BokehShader.js": Object { + "size": "", + }, + "BokehShader2.js": Object { + "size": "", + }, + "BrightnessContrastShader.js": Object { + "size": "", + }, + "ColorCorrectionShader.js": Object { + "size": "", + }, + "ColorifyShader.js": Object { + "size": "", + }, + "ConvolutionShader.js": Object { + "size": "", + }, + "CopyShader.js": Object { + "size": "", + }, + "DOFMipMapShader.js": Object { + "size": "", + }, + "DepthLimitedBlurShader.js": Object { + "size": "", + }, + "DigitalGlitch.js": Object { + "size": "", + }, + "DotScreenShader.js": Object { + "size": "", + }, + "ExposureShader.js": Object { + "size": "", + }, + "FXAAShader.js": Object { + "size": "", + }, + "FilmShader.js": Object { + "size": "", + }, + "FocusShader.js": Object { + "size": "", + }, + "FreiChenShader.js": Object { + "size": "", + }, + "GTAOShader.js": Object { + "size": "", + }, + "GammaCorrectionShader.js": Object { + "size": "", + }, + "GodRaysShader.js": Object { + "size": "", + }, + "HalftoneShader.js": Object { + "size": "", + }, + "HorizontalBlurShader.js": Object { + "size": "", + }, + "HorizontalTiltShiftShader.js": Object { + "size": "", + }, + "HueSaturationShader.js": Object { + "size": "", + }, + "KaleidoShader.js": Object { + "size": "", + }, + "LuminosityHighPassShader.js": Object { + "size": "", + }, + "LuminosityShader.js": Object { + "size": "", + }, + "MMDToonShader.js": Object { + "size": "", + }, + "MirrorShader.js": Object { + "size": "", + }, + "NormalMapShader.js": Object { + "size": "", + }, + "OutputShader.js": Object { + "size": "", + }, + "PoissonDenoiseShader.js": Object { + "size": "", + }, + "RGBShiftShader.js": Object { + "size": "", + }, + "SAOShader.js": Object { + "size": "", + }, + "SMAAShader.js": Object { + "size": "", + }, + "SSAOShader.js": Object { + "size": "", + }, + "SSRShader.js": Object { + "size": "", + }, + "SepiaShader.js": Object { + "size": "", + }, + "SobelOperatorShader.js": Object { + "size": "", + }, + "SubsurfaceScatteringShader.js": Object { + "size": "", + }, + "TechnicolorShader.js": Object { + "size": "", + }, + "ToonShader.js": Object { + "size": "", + }, + "TriangleBlurShader.js": Object { + "size": "", + }, + "UnpackDepthRGBAShader.js": Object { + "size": "", + }, + "VelocityShader.js": Object { + "size": "", + }, + "VerticalBlurShader.js": Object { + "size": "", + }, + "VerticalTiltShiftShader.js": Object { + "size": "", + }, + "VignetteShader.js": Object { + "size": "", + }, + "VolumeShader.js": Object { + "size": "", + }, + "WaterRefractionShader.js": Object { + "size": "", + }, + }, + }, + "textures": Object { + "files": Object { + "FlakesTexture.js": Object { + "size": "", + }, + }, + }, + "transpiler": Object { + "files": Object { + "AST.js": Object { + "size": "", + }, + "GLSLDecoder.js": Object { + "size": "", + }, + "ShaderToyDecoder.js": Object { + "size": "", + }, + "TSLEncoder.js": Object { + "size": "", + }, + "Transpiler.js": Object { + "size": "", + }, + }, + }, + "utils": Object { + "files": Object { + "BufferGeometryUtils.js": Object { + "size": "", + }, + "CameraUtils.js": Object { + "size": "", + }, + "GPUStatsPanel.js": Object { + "size": "", + }, + "GeometryCompressionUtils.js": Object { + "size": "", + }, + "GeometryUtils.js": Object { + "size": "", + }, + "LDrawUtils.js": Object { + "size": "", + }, + "PackedPhongMaterial.js": Object { + "size": "", + }, + "SceneUtils.js": Object { + "size": "", + }, + "ShadowMapViewer.js": Object { + "size": "", + }, + "SkeletonUtils.js": Object { + "size": "", + }, + "SortUtils.js": Object { + "size": "", + }, + "TextureUtils.js": Object { + "size": "", + }, + "UVsDebug.js": Object { + "size": "", + }, + "WorkerPool.js": Object { + "size": "", + }, + }, + }, + "webxr": Object { + "files": Object { + "ARButton.js": Object { + "size": "", + }, + "OculusHandModel.js": Object { + "size": "", + }, + "OculusHandPointerModel.js": Object { + "size": "", + }, + "Text2D.js": Object { + "size": "", + }, + "VRButton.js": Object { + "size": "", + }, + "XRButton.js": Object { + "size": "", + }, + "XRControllerModelFactory.js": Object { + "size": "", + }, + "XREstimatedLight.js": Object { + "size": "", + }, + "XRHandMeshModel.js": Object { + "size": "", + }, + "XRHandModelFactory.js": Object { + "size": "", + }, + "XRHandPrimitiveModel.js": Object { + "size": "", + }, + "XRPlanes.js": Object { + "size": "", + }, + }, + }, + }, + }, + }, + }, + "package.json": Object { + "size": "", + }, + "src": Object { + "files": Object { + "Three.Legacy.js": Object { + "size": "", + }, + "Three.js": Object { + "size": "", + }, + "animation": Object { + "files": Object { + "AnimationAction.js": Object { + "size": "", + }, + "AnimationClip.js": Object { + "size": "", + }, + "AnimationMixer.js": Object { + "size": "", + }, + "AnimationObjectGroup.js": Object { + "size": "", + }, + "AnimationUtils.js": Object { + "size": "", + }, + "KeyframeTrack.js": Object { + "size": "", + }, + "PropertyBinding.js": Object { + "size": "", + }, + "PropertyMixer.js": Object { + "size": "", + }, + "tracks": Object { + "files": Object { + "BooleanKeyframeTrack.js": Object { + "size": "", + }, + "ColorKeyframeTrack.js": Object { + "size": "", + }, + "NumberKeyframeTrack.js": Object { + "size": "", + }, + "QuaternionKeyframeTrack.js": Object { + "size": "", + }, + "StringKeyframeTrack.js": Object { + "size": "", + }, + "VectorKeyframeTrack.js": Object { + "size": "", + }, + }, + }, + }, + }, + "audio": Object { + "files": Object { + "Audio.js": Object { + "size": "", + }, + "AudioAnalyser.js": Object { + "size": "", + }, + "AudioContext.js": Object { + "size": "", + }, + "AudioListener.js": Object { + "size": "", + }, + "PositionalAudio.js": Object { + "size": "", + }, + }, + }, + "cameras": Object { + "files": Object { + "ArrayCamera.js": Object { + "size": "", + }, + "Camera.js": Object { + "size": "", + }, + "CubeCamera.js": Object { + "size": "", + }, + "OrthographicCamera.js": Object { + "executable": true, + "size": "", + }, + "PerspectiveCamera.js": Object { + "size": "", + }, + "StereoCamera.js": Object { + "size": "", + }, + }, + }, + "constants.js": Object { + "size": "", + }, + "core": Object { + "files": Object { + "BufferAttribute.js": Object { + "size": "", + }, + "BufferGeometry.js": Object { + "size": "", + }, + "Clock.js": Object { + "size": "", + }, + "EventDispatcher.js": Object { + "size": "", + }, + "GLBufferAttribute.js": Object { + "size": "", + }, + "InstancedBufferAttribute.js": Object { + "size": "", + }, + "InstancedBufferGeometry.js": Object { + "size": "", + }, + "InstancedInterleavedBuffer.js": Object { + "size": "", + }, + "InterleavedBuffer.js": Object { + "size": "", + }, + "InterleavedBufferAttribute.js": Object { + "size": "", + }, + "Layers.js": Object { + "size": "", + }, + "Object3D.js": Object { + "size": "", + }, + "Raycaster.js": Object { + "size": "", + }, + "RenderTarget.js": Object { + "size": "", + }, + "Uniform.js": Object { + "size": "", + }, + "UniformsGroup.js": Object { + "size": "", + }, + }, + }, + "extras": Object { + "files": Object { + "DataUtils.js": Object { + "size": "", + }, + "Earcut.js": Object { + "size": "", + }, + "ImageUtils.js": Object { + "size": "", + }, + "PMREMGenerator.js": Object { + "size": "", + }, + "ShapeUtils.js": Object { + "size": "", + }, + "core": Object { + "files": Object { + "Curve.js": Object { + "size": "", + }, + "CurvePath.js": Object { + "size": "", + }, + "Interpolations.js": Object { + "size": "", + }, + "Path.js": Object { + "size": "", + }, + "Shape.js": Object { + "size": "", + }, + "ShapePath.js": Object { + "size": "", + }, + }, + }, + "curves": Object { + "files": Object { + "ArcCurve.js": Object { + "size": "", + }, + "CatmullRomCurve3.js": Object { + "size": "", + }, + "CubicBezierCurve.js": Object { + "size": "", + }, + "CubicBezierCurve3.js": Object { + "size": "", + }, + "Curves.js": Object { + "size": "", + }, + "EllipseCurve.js": Object { + "size": "", + }, + "LineCurve.js": Object { + "size": "", + }, + "LineCurve3.js": Object { + "size": "", + }, + "QuadraticBezierCurve.js": Object { + "size": "", + }, + "QuadraticBezierCurve3.js": Object { + "size": "", + }, + "SplineCurve.js": Object { + "size": "", + }, + }, + }, + }, + }, + "geometries": Object { + "files": Object { + "BoxGeometry.js": Object { + "size": "", + }, + "CapsuleGeometry.js": Object { + "size": "", + }, + "CircleGeometry.js": Object { + "size": "", + }, + "ConeGeometry.js": Object { + "size": "", + }, + "CylinderGeometry.js": Object { + "size": "", + }, + "DodecahedronGeometry.js": Object { + "size": "", + }, + "EdgesGeometry.js": Object { + "size": "", + }, + "ExtrudeGeometry.js": Object { + "size": "", + }, + "Geometries.js": Object { + "size": "", + }, + "IcosahedronGeometry.js": Object { + "size": "", + }, + "LatheGeometry.js": Object { + "size": "", + }, + "OctahedronGeometry.js": Object { + "size": "", + }, + "PlaneGeometry.js": Object { + "size": "", + }, + "PolyhedronGeometry.js": Object { + "size": "", + }, + "RingGeometry.js": Object { + "size": "", + }, + "ShapeGeometry.js": Object { + "size": "", + }, + "SphereGeometry.js": Object { + "size": "", + }, + "TetrahedronGeometry.js": Object { + "size": "", + }, + "TorusGeometry.js": Object { + "size": "", + }, + "TorusKnotGeometry.js": Object { + "size": "", + }, + "TubeGeometry.js": Object { + "size": "", + }, + "WireframeGeometry.js": Object { + "size": "", + }, + }, + }, + "helpers": Object { + "files": Object { + "ArrowHelper.js": Object { + "size": "", + }, + "AxesHelper.js": Object { + "size": "", + }, + "Box3Helper.js": Object { + "size": "", + }, + "BoxHelper.js": Object { + "size": "", + }, + "CameraHelper.js": Object { + "size": "", + }, + "DirectionalLightHelper.js": Object { + "size": "", + }, + "GridHelper.js": Object { + "size": "", + }, + "HemisphereLightHelper.js": Object { + "size": "", + }, + "PlaneHelper.js": Object { + "size": "", + }, + "PointLightHelper.js": Object { + "size": "", + }, + "PolarGridHelper.js": Object { + "size": "", + }, + "SkeletonHelper.js": Object { + "size": "", + }, + "SpotLightHelper.js": Object { + "size": "", + }, + }, + }, + "lights": Object { + "files": Object { + "AmbientLight.js": Object { + "size": "", + }, + "DirectionalLight.js": Object { + "size": "", + }, + "DirectionalLightShadow.js": Object { + "size": "", + }, + "HemisphereLight.js": Object { + "size": "", + }, + "Light.js": Object { + "size": "", + }, + "LightProbe.js": Object { + "size": "", + }, + "LightShadow.js": Object { + "size": "", + }, + "PointLight.js": Object { + "size": "", + }, + "PointLightShadow.js": Object { + "size": "", + }, + "RectAreaLight.js": Object { + "size": "", + }, + "SpotLight.js": Object { + "size": "", + }, + "SpotLightShadow.js": Object { + "size": "", + }, + }, + }, + "loaders": Object { + "files": Object { + "AnimationLoader.js": Object { + "size": "", + }, + "AudioLoader.js": Object { + "size": "", + }, + "BufferGeometryLoader.js": Object { + "size": "", + }, + "Cache.js": Object { + "size": "", + }, + "CompressedTextureLoader.js": Object { + "size": "", + }, + "CubeTextureLoader.js": Object { + "size": "", + }, + "DataTextureLoader.js": Object { + "size": "", + }, + "FileLoader.js": Object { + "size": "", + }, + "ImageBitmapLoader.js": Object { + "size": "", + }, + "ImageLoader.js": Object { + "size": "", + }, + "Loader.js": Object { + "size": "", + }, + "LoaderUtils.js": Object { + "size": "", + }, + "LoadingManager.js": Object { + "size": "", + }, + "MaterialLoader.js": Object { + "size": "", + }, + "ObjectLoader.js": Object { + "size": "", + }, + "TextureLoader.js": Object { + "size": "", + }, + }, + }, + "materials": Object { + "files": Object { + "LineBasicMaterial.js": Object { + "size": "", + }, + "LineDashedMaterial.js": Object { + "size": "", + }, + "Material.js": Object { + "size": "", + }, + "Materials.js": Object { + "size": "", + }, + "MeshBasicMaterial.js": Object { + "size": "", + }, + "MeshDepthMaterial.js": Object { + "size": "", + }, + "MeshDistanceMaterial.js": Object { + "size": "", + }, + "MeshLambertMaterial.js": Object { + "size": "", + }, + "MeshMatcapMaterial.js": Object { + "size": "", + }, + "MeshNormalMaterial.js": Object { + "size": "", + }, + "MeshPhongMaterial.js": Object { + "size": "", + }, + "MeshPhysicalMaterial.js": Object { + "size": "", + }, + "MeshStandardMaterial.js": Object { + "size": "", + }, + "MeshToonMaterial.js": Object { + "size": "", + }, + "PointsMaterial.js": Object { + "size": "", + }, + "RawShaderMaterial.js": Object { + "size": "", + }, + "ShaderMaterial.js": Object { + "size": "", + }, + "ShadowMaterial.js": Object { + "size": "", + }, + "SpriteMaterial.js": Object { + "size": "", + }, + }, + }, + "math": Object { + "files": Object { + "Box2.js": Object { + "size": "", + }, + "Box3.js": Object { + "size": "", + }, + "Color.js": Object { + "size": "", + }, + "ColorManagement.js": Object { + "size": "", + }, + "Cylindrical.js": Object { + "size": "", + }, + "Euler.js": Object { + "size": "", + }, + "Frustum.js": Object { + "size": "", + }, + "Interpolant.js": Object { + "size": "", + }, + "Line3.js": Object { + "size": "", + }, + "MathUtils.js": Object { + "size": "", + }, + "Matrix3.js": Object { + "size": "", + }, + "Matrix4.js": Object { + "size": "", + }, + "Plane.js": Object { + "size": "", + }, + "Quaternion.js": Object { + "size": "", + }, + "Ray.js": Object { + "size": "", + }, + "Sphere.js": Object { + "size": "", + }, + "Spherical.js": Object { + "size": "", + }, + "SphericalHarmonics3.js": Object { + "size": "", + }, + "Triangle.js": Object { + "size": "", + }, + "Vector2.js": Object { + "size": "", + }, + "Vector3.js": Object { + "size": "", + }, + "Vector4.js": Object { + "size": "", + }, + "interpolants": Object { + "files": Object { + "CubicInterpolant.js": Object { + "size": "", + }, + "DiscreteInterpolant.js": Object { + "size": "", + }, + "LinearInterpolant.js": Object { + "size": "", + }, + "QuaternionLinearInterpolant.js": Object { + "size": "", + }, + }, + }, + }, + }, + "objects": Object { + "files": Object { + "BatchedMesh.js": Object { + "size": "", + }, + "Bone.js": Object { + "size": "", + }, + "Group.js": Object { + "size": "", + }, + "InstancedMesh.js": Object { + "size": "", + }, + "LOD.js": Object { + "size": "", + }, + "Line.js": Object { + "size": "", + }, + "LineLoop.js": Object { + "size": "", + }, + "LineSegments.js": Object { + "size": "", + }, + "Mesh.js": Object { + "size": "", + }, + "Points.js": Object { + "size": "", + }, + "Skeleton.js": Object { + "size": "", + }, + "SkinnedMesh.js": Object { + "size": "", + }, + "Sprite.js": Object { + "size": "", + }, + }, + }, + "renderers": Object { + "files": Object { + "WebGL1Renderer.js": Object { + "size": "", + }, + "WebGL3DRenderTarget.js": Object { + "size": "", + }, + "WebGLArrayRenderTarget.js": Object { + "size": "", + }, + "WebGLCubeRenderTarget.js": Object { + "size": "", + }, + "WebGLMultipleRenderTargets.js": Object { + "size": "", + }, + "WebGLRenderTarget.js": Object { + "size": "", + }, + "WebGLRenderer.js": Object { + "size": "", + }, + "shaders": Object { + "files": Object { + "ShaderChunk": Object { + "files": Object { + "alphahash_fragment.glsl.js": Object { + "size": "", + }, + "alphahash_pars_fragment.glsl.js": Object { + "size": "", + }, + "alphamap_fragment.glsl.js": Object { + "size": "", + }, + "alphamap_pars_fragment.glsl.js": Object { + "size": "", + }, + "alphatest_fragment.glsl.js": Object { + "size": "", + }, + "alphatest_pars_fragment.glsl.js": Object { + "size": "", + }, + "aomap_fragment.glsl.js": Object { + "size": "", + }, + "aomap_pars_fragment.glsl.js": Object { + "size": "", + }, + "batching_pars_vertex.glsl.js": Object { + "size": "", + }, + "batching_vertex.glsl.js": Object { + "size": "", + }, + "begin_vertex.glsl.js": Object { + "size": "", + }, + "beginnormal_vertex.glsl.js": Object { + "size": "", + }, + "bsdfs.glsl.js": Object { + "size": "", + }, + "bumpmap_pars_fragment.glsl.js": Object { + "size": "", + }, + "clearcoat_normal_fragment_begin.glsl.js": Object { + "size": "", + }, + "clearcoat_normal_fragment_maps.glsl.js": Object { + "size": "", + }, + "clearcoat_pars_fragment.glsl.js": Object { + "size": "", + }, + "clipping_planes_fragment.glsl.js": Object { + "size": "", + }, + "clipping_planes_pars_fragment.glsl.js": Object { + "size": "", + }, + "clipping_planes_pars_vertex.glsl.js": Object { + "size": "", + }, + "clipping_planes_vertex.glsl.js": Object { + "size": "", + }, + "color_fragment.glsl.js": Object { + "size": "", + }, + "color_pars_fragment.glsl.js": Object { + "size": "", + }, + "color_pars_vertex.glsl.js": Object { + "size": "", + }, + "color_vertex.glsl.js": Object { + "size": "", + }, + "colorspace_fragment.glsl.js": Object { + "size": "", + }, + "colorspace_pars_fragment.glsl.js": Object { + "size": "", + }, + "common.glsl.js": Object { + "size": "", + }, + "cube_uv_reflection_fragment.glsl.js": Object { + "size": "", + }, + "default_fragment.glsl.js": Object { + "size": "", + }, + "default_vertex.glsl.js": Object { + "size": "", + }, + "defaultnormal_vertex.glsl.js": Object { + "size": "", + }, + "displacementmap_pars_vertex.glsl.js": Object { + "size": "", + }, + "displacementmap_vertex.glsl.js": Object { + "size": "", + }, + "dithering_fragment.glsl.js": Object { + "size": "", + }, + "dithering_pars_fragment.glsl.js": Object { + "size": "", + }, + "emissivemap_fragment.glsl.js": Object { + "size": "", + }, + "emissivemap_pars_fragment.glsl.js": Object { + "size": "", + }, + "envmap_common_pars_fragment.glsl.js": Object { + "size": "", + }, + "envmap_fragment.glsl.js": Object { + "size": "", + }, + "envmap_pars_fragment.glsl.js": Object { + "size": "", + }, + "envmap_pars_vertex.glsl.js": Object { + "size": "", + }, + "envmap_physical_pars_fragment.glsl.js": Object { + "size": "", + }, + "envmap_vertex.glsl.js": Object { + "size": "", + }, + "fog_fragment.glsl.js": Object { + "size": "", + }, + "fog_pars_fragment.glsl.js": Object { + "size": "", + }, + "fog_pars_vertex.glsl.js": Object { + "size": "", + }, + "fog_vertex.glsl.js": Object { + "size": "", + }, + "gradientmap_pars_fragment.glsl.js": Object { + "size": "", + }, + "iridescence_fragment.glsl.js": Object { + "size": "", + }, + "iridescence_pars_fragment.glsl.js": Object { + "size": "", + }, + "lightmap_fragment.glsl.js": Object { + "size": "", + }, + "lightmap_pars_fragment.glsl.js": Object { + "size": "", + }, + "lights_fragment_begin.glsl.js": Object { + "size": "", + }, + "lights_fragment_end.glsl.js": Object { + "size": "", + }, + "lights_fragment_maps.glsl.js": Object { + "size": "", + }, + "lights_lambert_fragment.glsl.js": Object { + "size": "", + }, + "lights_lambert_pars_fragment.glsl.js": Object { + "size": "", + }, + "lights_pars_begin.glsl.js": Object { + "size": "", + }, + "lights_phong_fragment.glsl.js": Object { + "size": "", + }, + "lights_phong_pars_fragment.glsl.js": Object { + "size": "", + }, + "lights_physical_fragment.glsl.js": Object { + "size": "", + }, + "lights_physical_pars_fragment.glsl.js": Object { + "size": "", + }, + "lights_toon_fragment.glsl.js": Object { + "size": "", + }, + "lights_toon_pars_fragment.glsl.js": Object { + "size": "", + }, + "logdepthbuf_fragment.glsl.js": Object { + "size": "", + }, + "logdepthbuf_pars_fragment.glsl.js": Object { + "size": "", + }, + "logdepthbuf_pars_vertex.glsl.js": Object { + "size": "", + }, + "logdepthbuf_vertex.glsl.js": Object { + "size": "", + }, + "map_fragment.glsl.js": Object { + "size": "", + }, + "map_pars_fragment.glsl.js": Object { + "size": "", + }, + "map_particle_fragment.glsl.js": Object { + "size": "", + }, + "map_particle_pars_fragment.glsl.js": Object { + "size": "", + }, + "metalnessmap_fragment.glsl.js": Object { + "size": "", + }, + "metalnessmap_pars_fragment.glsl.js": Object { + "size": "", + }, + "morphcolor_vertex.glsl.js": Object { + "size": "", + }, + "morphnormal_vertex.glsl.js": Object { + "size": "", + }, + "morphtarget_pars_vertex.glsl.js": Object { + "size": "", + }, + "morphtarget_vertex.glsl.js": Object { + "size": "", + }, + "normal_fragment_begin.glsl.js": Object { + "size": "", + }, + "normal_fragment_maps.glsl.js": Object { + "size": "", + }, + "normal_pars_fragment.glsl.js": Object { + "size": "", + }, + "normal_pars_vertex.glsl.js": Object { + "size": "", + }, + "normal_vertex.glsl.js": Object { + "size": "", + }, + "normalmap_pars_fragment.glsl.js": Object { + "size": "", + }, + "opaque_fragment.glsl.js": Object { + "size": "", + }, + "packing.glsl.js": Object { + "size": "", + }, + "premultiplied_alpha_fragment.glsl.js": Object { + "size": "", + }, + "project_vertex.glsl.js": Object { + "size": "", + }, + "roughnessmap_fragment.glsl.js": Object { + "size": "", + }, + "roughnessmap_pars_fragment.glsl.js": Object { + "size": "", + }, + "shadowmap_pars_fragment.glsl.js": Object { + "size": "", + }, + "shadowmap_pars_vertex.glsl.js": Object { + "size": "", + }, + "shadowmap_vertex.glsl.js": Object { + "size": "", + }, + "shadowmask_pars_fragment.glsl.js": Object { + "size": "", + }, + "skinbase_vertex.glsl.js": Object { + "size": "", + }, + "skinning_pars_vertex.glsl.js": Object { + "size": "", + }, + "skinning_vertex.glsl.js": Object { + "size": "", + }, + "skinnormal_vertex.glsl.js": Object { + "size": "", + }, + "specularmap_fragment.glsl.js": Object { + "size": "", + }, + "specularmap_pars_fragment.glsl.js": Object { + "size": "", + }, + "tonemapping_fragment.glsl.js": Object { + "size": "", + }, + "tonemapping_pars_fragment.glsl.js": Object { + "size": "", + }, + "transmission_fragment.glsl.js": Object { + "size": "", + }, + "transmission_pars_fragment.glsl.js": Object { + "size": "", + }, + "uv_pars_fragment.glsl.js": Object { + "size": "", + }, + "uv_pars_vertex.glsl.js": Object { + "size": "", + }, + "uv_vertex.glsl.js": Object { + "size": "", + }, + "worldpos_vertex.glsl.js": Object { + "size": "", + }, + }, + }, + "ShaderChunk.js": Object { + "size": "", + }, + "ShaderLib": Object { + "files": Object { + "background.glsl.js": Object { + "size": "", + }, + "backgroundCube.glsl.js": Object { + "size": "", + }, + "cube.glsl.js": Object { + "size": "", + }, + "depth.glsl.js": Object { + "size": "", + }, + "distanceRGBA.glsl.js": Object { + "size": "", + }, + "equirect.glsl.js": Object { + "size": "", + }, + "linedashed.glsl.js": Object { + "size": "", + }, + "meshbasic.glsl.js": Object { + "size": "", + }, + "meshlambert.glsl.js": Object { + "size": "", + }, + "meshmatcap.glsl.js": Object { + "size": "", + }, + "meshnormal.glsl.js": Object { + "size": "", + }, + "meshphong.glsl.js": Object { + "size": "", + }, + "meshphysical.glsl.js": Object { + "size": "", + }, + "meshtoon.glsl.js": Object { + "size": "", + }, + "points.glsl.js": Object { + "size": "", + }, + "shadow.glsl.js": Object { + "size": "", + }, + "sprite.glsl.js": Object { + "size": "", + }, + "vsm.glsl.js": Object { + "size": "", + }, + }, + }, + "ShaderLib.js": Object { + "size": "", + }, + "UniformsLib.js": Object { + "size": "", + }, + "UniformsUtils.js": Object { + "size": "", + }, + }, + }, + "webgl": Object { + "files": Object { + "WebGLAnimation.js": Object { + "size": "", + }, + "WebGLAttributes.js": Object { + "size": "", + }, + "WebGLBackground.js": Object { + "size": "", + }, + "WebGLBindingStates.js": Object { + "size": "", + }, + "WebGLBufferRenderer.js": Object { + "size": "", + }, + "WebGLCapabilities.js": Object { + "size": "", + }, + "WebGLClipping.js": Object { + "size": "", + }, + "WebGLCubeMaps.js": Object { + "size": "", + }, + "WebGLCubeUVMaps.js": Object { + "size": "", + }, + "WebGLExtensions.js": Object { + "size": "", + }, + "WebGLGeometries.js": Object { + "size": "", + }, + "WebGLIndexedBufferRenderer.js": Object { + "size": "", + }, + "WebGLInfo.js": Object { + "size": "", + }, + "WebGLLights.js": Object { + "size": "", + }, + "WebGLMaterials.js": Object { + "size": "", + }, + "WebGLMorphtargets.js": Object { + "size": "", + }, + "WebGLObjects.js": Object { + "size": "", + }, + "WebGLProgram.js": Object { + "size": "", + }, + "WebGLPrograms.js": Object { + "size": "", + }, + "WebGLProperties.js": Object { + "size": "", + }, + "WebGLRenderLists.js": Object { + "size": "", + }, + "WebGLRenderStates.js": Object { + "size": "", + }, + "WebGLShader.js": Object { + "size": "", + }, + "WebGLShaderCache.js": Object { + "size": "", + }, + "WebGLShadowMap.js": Object { + "size": "", + }, + "WebGLState.js": Object { + "size": "", + }, + "WebGLTextures.js": Object { + "size": "", + }, + "WebGLUniforms.js": Object { + "size": "", + }, + "WebGLUniformsGroups.js": Object { + "size": "", + }, + "WebGLUtils.js": Object { + "size": "", + }, + }, + }, + "webxr": Object { + "files": Object { + "WebXRController.js": Object { + "size": "", + }, + "WebXRManager.js": Object { + "size": "", + }, + }, + }, + }, + }, + "scenes": Object { + "files": Object { + "Fog.js": Object { + "size": "", + }, + "FogExp2.js": Object { + "size": "", + }, + "Scene.js": Object { + "size": "", + }, + }, + }, + "textures": Object { + "files": Object { + "CanvasTexture.js": Object { + "size": "", + }, + "CompressedArrayTexture.js": Object { + "size": "", + }, + "CompressedCubeTexture.js": Object { + "size": "", + }, + "CompressedTexture.js": Object { + "size": "", + }, + "CubeTexture.js": Object { + "size": "", + }, + "Data3DTexture.js": Object { + "size": "", + }, + "DataArrayTexture.js": Object { + "size": "", + }, + "DataTexture.js": Object { + "size": "", + }, + "DepthTexture.js": Object { + "size": "", + }, + "FramebufferTexture.js": Object { + "size": "", + }, + "Source.js": Object { + "size": "", + }, + "Texture.js": Object { + "size": "", + }, + "VideoTexture.js": Object { + "size": "", + }, + }, + }, + "utils.js": Object { + "size": "", + }, + }, + }, + }, + }, + "tunnel-agent": Object { + "files": Object { + "LICENSE": Object { + "size": "", + }, + "index.js": Object { + "size": "", + }, + "package.json": Object { + "size": "", + }, + }, + }, + "util-deprecate": Object { + "files": Object { + "History.md": Object { + "size": "", + }, + "LICENSE": Object { + "size": "", + }, + "browser.js": Object { + "size": "", + }, + "node.js": Object { + "size": "", + }, + "package.json": Object { + "size": "", + }, + }, + }, + "wrappy": Object { + "files": Object { + "LICENSE": Object { + "size": "", + }, + "package.json": Object { + "size": "", + }, + "wrappy.js": Object { + "size": "", + }, + }, + }, + "yallist": Object { + "files": Object { + "LICENSE": Object { + "size": "", + }, + "iterator.js": Object { + "size": "", + }, + "package.json": Object { + "size": "", + }, + "yallist.js": Object { + "size": "", + }, + }, + }, + }, + }, + "package.json": Object { + "size": "", + }, + }, +} +`; + +exports[`posix smart unpack 4`] = ` Array [ "app.asar", ] diff --git a/test/src/BuildTest.ts b/test/src/BuildTest.ts index fdac7afa91..3731364f57 100644 --- a/test/src/BuildTest.ts +++ b/test/src/BuildTest.ts @@ -8,6 +8,7 @@ import { createYargs } from "electron-builder/out/builder" import { app, appTwo, appTwoThrows, assertPack, linuxDirTarget, modifyPackageJson, packageJson, toSystemIndependentPath } from "./helpers/packTester" import { ELECTRON_VERSION } from "./helpers/testConfig" import { verifySmartUnpack } from "./helpers/verifySmartUnpack" +import { AsarFilesystem } from "app-builder-lib/src/asar/asar" test("cli", async () => { // because these methods are internal @@ -332,6 +333,10 @@ test.ifDevOrLinuxCi( // tslint:disable-next-line:no-invalid-template-strings copyright: "Copyright © 2018 ${author}", npmRebuild: true, + onNodeModuleFile: filePath => { + // Force include this directory in the pakage + return filePath.includes("node_modules/three/examples") + }, files: [ // test ignore pattern for node_modules defined as file set filter { @@ -347,11 +352,14 @@ test.ifDevOrLinuxCi( "edge-cs": "1.2.1", "lzma-native": "8.0.6", keytar: "7.9.0", + three: "0.160.0", } }), - packed: context => { + packed: async context => { expect(context.packager.appInfo.copyright).toBe("Copyright © 2018 Foo Bar") - return verifySmartUnpack(context.getResources(Platform.LINUX)) + await verifySmartUnpack(context.getResources(Platform.LINUX), async (asarFs: AsarFilesystem) => { + return expect(await asarFs.readFile(`node_modules${path.sep}three${path.sep}examples${path.sep}fonts${path.sep}README.md`)).toMatchSnapshot() + }) }, } ) diff --git a/test/src/helpers/verifySmartUnpack.ts b/test/src/helpers/verifySmartUnpack.ts index 5107651614..7069e78e1c 100644 --- a/test/src/helpers/verifySmartUnpack.ts +++ b/test/src/helpers/verifySmartUnpack.ts @@ -1,4 +1,4 @@ -import { readAsar } from "app-builder-lib/out/asar/asar" +import { AsarFilesystem, readAsar } from "app-builder-lib/out/asar/asar" import { walk } from "builder-util/out/fs" import { readFileSync } from "fs" import * as path from "path" @@ -23,11 +23,14 @@ export function removeUnstableProperties(data: any) { ) } -export async function verifySmartUnpack(resourceDir: string) { +export async function verifySmartUnpack(resourceDir: string, additionalVerifications?: (asarFs: AsarFilesystem) => Promise) { const asarFs = await readAsar(path.join(resourceDir, "app.asar")) expect(await asarFs.readJson(`node_modules${path.sep}debug${path.sep}package.json`)).toMatchObject({ name: "debug", }) + if (additionalVerifications) { + await additionalVerifications(asarFs) + } expect(removeUnstableProperties(asarFs.header)).toMatchSnapshot() const files = (await walk(resourceDir, file => !path.basename(file).startsWith(".") && !file.endsWith(`resources${path.sep}inspector`))).map(it => {