diff --git a/ts/dist/multisource.js b/ts/dist/multisource.js index 7a2340c..a8790ad 100644 --- a/ts/dist/multisource.js +++ b/ts/dist/multisource.js @@ -121,7 +121,21 @@ const MultiSource = (jsonic, popts) => { src: fullpath, wen: Date.now(), }; - depmap[parent] = depmap[parent] || {}; + // `parent` is a SOURCE PATH, so it is only as trustworthy as the + // tree being resolved. On an ordinary object `depmap['__proto__']` + // answers with `Object.prototype` — truthy, so the `||` never fires + // and the dependency is recorded onto the prototype of every object + // in the process. `defineProperty` creates an own property instead + // of invoking the `__proto__` setter, and the own-property read + // stops an inherited name masquerading as an existing entry. + if (!Object.prototype.hasOwnProperty.call(depmap, parent)) { + Object.defineProperty(depmap, parent, { + value: Object.create(null), + writable: true, + enumerable: true, + configurable: true, + }); + } depmap[parent][fullpath] = dep; } } diff --git a/ts/dist/multisource.js.map b/ts/dist/multisource.js.map index fa540a0..cde997f 100644 --- a/ts/dist/multisource.js.map +++ b/ts/dist/multisource.js.map @@ -1 +1 @@ -{"version":3,"file":"multisource.js","sourceRoot":"","sources":["../src/multisource.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"multisource.js","sourceRoot":"","sources":["../src/multisource.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/ts/src/multisource.ts b/ts/src/multisource.ts index d640b99..97026e8 100644 --- a/ts/src/multisource.ts +++ b/ts/src/multisource.ts @@ -178,7 +178,21 @@ const MultiSource: Plugin = (jsonic: Jsonic, popts: MultiSourceOptions) => { src: fullpath, wen: Date.now(), } - depmap[parent] = depmap[parent] || {} + // `parent` is a SOURCE PATH, so it is only as trustworthy as the + // tree being resolved. On an ordinary object `depmap['__proto__']` + // answers with `Object.prototype` — truthy, so the `||` never fires + // and the dependency is recorded onto the prototype of every object + // in the process. `defineProperty` creates an own property instead + // of invoking the `__proto__` setter, and the own-property read + // stops an inherited name masquerading as an existing entry. + if (!Object.prototype.hasOwnProperty.call(depmap, parent)) { + Object.defineProperty(depmap, parent, { + value: Object.create(null), + writable: true, + enumerable: true, + configurable: true, + }) + } depmap[parent][fullpath] = dep } }