Comparing version 2.0.1 to 2.0.2
@@ -5,6 +5,19 @@ # Changelog | ||
A list of unreleased changes can be found [here](https://github.com/SAP/ui5-fs/compare/v2.0.1...HEAD). | ||
A list of unreleased changes can be found [here](https://github.com/SAP/ui5-fs/compare/v2.0.2...HEAD). | ||
<a name="v2.0.2"></a> | ||
## [v2.0.2] - 2020-07-20 | ||
### Bug Fixes | ||
- TypeScript type definition support ([#252](https://github.com/SAP/ui5-fs/issues/252)) [`f379094`](https://github.com/SAP/ui5-fs/commit/f37909483b2740219da36c7e0931f7824d51e1a3) | ||
- **Resource:** Keep stats size up to date ([#253](https://github.com/SAP/ui5-fs/issues/253)) [`0ef976f`](https://github.com/SAP/ui5-fs/commit/0ef976fe658765ae46afd1b4aa5b9100aa9829f8) | ||
- **Resource:** getStream for empty string ([#249](https://github.com/SAP/ui5-fs/issues/249)) [`bc5eafb`](https://github.com/SAP/ui5-fs/commit/bc5eafb19bf71141b88dff749240354898849a66) | ||
- **Resource#getSize:** Retrieve Resource's size ([#256](https://github.com/SAP/ui5-fs/issues/256)) [`9d2cc6c`](https://github.com/SAP/ui5-fs/commit/9d2cc6cf92b4a3f29e5c42db2f14afeeac9a0c98) | ||
- **adapters/Memory:** Return cloned resources ([#235](https://github.com/SAP/ui5-fs/issues/235)) [`7bf3c6a`](https://github.com/SAP/ui5-fs/commit/7bf3c6a2ce55cd1c48b8aaaed83591bd85c228fa) | ||
### Reverts | ||
- [FIX] adapters/Memory: Return cloned resources ([#235](https://github.com/SAP/ui5-fs/issues/235)) | ||
<a name="v2.0.1"></a> | ||
## [v2.0.1] - 2020-04-29 | ||
## [v2.0.1] - 2020-04-30 | ||
### Bug Fixes | ||
@@ -95,2 +108,3 @@ - Namespaces in API Reference (JSDoc) [`b9d7b3c`](https://github.com/SAP/ui5-fs/commit/b9d7b3c70679436e6cbea07a789ac5e83bab337a) | ||
[v2.0.2]: https://github.com/SAP/ui5-fs/compare/v2.0.1...v2.0.2 | ||
[v2.0.1]: https://github.com/SAP/ui5-fs/compare/v2.0.0...v2.0.1 | ||
@@ -97,0 +111,0 @@ [v2.0.0]: https://github.com/SAP/ui5-fs/compare/v1.1.2...v2.0.0 |
64
index.js
@@ -5,3 +5,3 @@ /** | ||
*/ | ||
const modules = { | ||
module.exports = { | ||
/** | ||
@@ -13,30 +13,64 @@ * @public | ||
adapters: { | ||
/** | ||
* @type {typeof import('./lib/adapters/AbstractAdapter')} | ||
*/ | ||
AbstractAdapter: "./lib/adapters/AbstractAdapter", | ||
/** | ||
* @type {typeof import('./lib/adapters/FileSystem')} | ||
*/ | ||
FileSystem: "./lib/adapters/FileSystem", | ||
/** | ||
* @type {typeof import('./lib/adapters/Memory')} | ||
*/ | ||
Memory: "./lib/adapters/Memory" | ||
}, | ||
/** | ||
* @type {typeof import('./lib/AbstractReader')} | ||
*/ | ||
AbstractReader: "./lib/AbstractReader", | ||
/** | ||
* @type {typeof import('./lib/AbstractReaderWriter')} | ||
*/ | ||
AbstractReaderWriter: "./lib/AbstractReaderWriter", | ||
/** | ||
* @type {typeof import('./lib/DuplexCollection')} | ||
*/ | ||
DuplexCollection: "./lib/DuplexCollection", | ||
/** | ||
* @type {import('./lib/fsInterface')} | ||
*/ | ||
fsInterface: "./lib/fsInterface", | ||
/** | ||
* @type {typeof import('./lib/ReaderCollection')} | ||
*/ | ||
ReaderCollection: "./lib/ReaderCollection", | ||
/** | ||
* @type {typeof import('./lib/ReaderCollectionPrioritized')} | ||
*/ | ||
ReaderCollectionPrioritized: "./lib/ReaderCollectionPrioritized", | ||
/** | ||
* @type {typeof import('./lib/Resource')} | ||
*/ | ||
Resource: "./lib/Resource", | ||
/** | ||
* @type {typeof import('./lib/ResourceTagCollection')} | ||
*/ | ||
ResourceTagCollection: "./lib/ResourceTagCollection", | ||
/** | ||
* @type {import('./lib/resourceFactory')} | ||
*/ | ||
resourceFactory: "./lib/resourceFactory" | ||
}; | ||
const hasOwnProperty = Object.prototype.hasOwnProperty; | ||
function exportModules(exportRoot, modulePaths) { | ||
for (const moduleName in modulePaths) { | ||
if (hasOwnProperty.call(modulePaths, moduleName)) { | ||
if (typeof modulePaths[moduleName] === "object") { | ||
exportRoot[moduleName] = {}; | ||
exportModules(exportRoot[moduleName], modulePaths[moduleName]); | ||
} else { | ||
Object.defineProperty(exportRoot, moduleName, { | ||
get() { | ||
return require(modulePaths[moduleName]); | ||
} | ||
}); | ||
} | ||
for (const moduleName of Object.keys(modulePaths)) { | ||
if (typeof modulePaths[moduleName] === "object") { | ||
exportRoot[moduleName] = {}; | ||
exportModules(exportRoot[moduleName], modulePaths[moduleName]); | ||
} else { | ||
Object.defineProperty(exportRoot, moduleName, { | ||
get() { | ||
return require(modulePaths[moduleName]); | ||
} | ||
}); | ||
} | ||
@@ -46,2 +80,2 @@ } | ||
exportModules(module.exports, modules); | ||
exportModules(module.exports, JSON.parse(JSON.stringify(module.exports))); |
118
jsdoc.json
{ | ||
"tags": { | ||
"allowUnknownTags": false | ||
}, | ||
"source": { | ||
"include": ["README.md", "index.js"], | ||
"includePattern": ".+\\.js$", | ||
"excludePattern": "(node_modules(\\\\|/))" | ||
}, | ||
"plugins": [], | ||
"opts": { | ||
"template": "node_modules/docdash/", | ||
"encoding": "utf8", | ||
"destination": "jsdocs/", | ||
"recurse": true, | ||
"verbose": true, | ||
"access": "public" | ||
}, | ||
"templates": { | ||
"cleverLinks": false, | ||
"monospaceLinks": false, | ||
"default": { | ||
"useLongnameInNav": true | ||
} | ||
}, | ||
"openGraph": { | ||
"title": "UI5 Tooling - API Reference", | ||
"type": "website", | ||
"image": "https://sap.github.io/ui5-tooling/docs/images/UI5_logo_wide.png", | ||
"site_name": "UI5 Tooling - API Reference", | ||
"url": "https://sap.github.io/ui5-tooling/" | ||
}, | ||
"docdash": { | ||
"sectionOrder": [ | ||
"Modules", | ||
"Namespaces", | ||
"Classes", | ||
"Externals", | ||
"Events", | ||
"Mixins", | ||
"Tutorials", | ||
"Interfaces" | ||
], | ||
"meta": { | ||
"title": "UI5 Tooling - API Reference - UI5 FS", | ||
"description": "UI5 Tooling - API Reference - UI5 FS", | ||
"keyword": "openui5 sapui5 ui5 build development tool api reference" | ||
}, | ||
"search": true, | ||
"wrap": true, | ||
"menu": { | ||
"GitHub": { | ||
"href": "https://github.com/SAP/ui5-fs", | ||
"target": "_blank", | ||
"class": "menu-item", | ||
"id": "github_link" | ||
} | ||
} | ||
} | ||
"tags": { | ||
"allowUnknownTags": false | ||
}, | ||
"source": { | ||
"include": ["README.md", "index.js"], | ||
"includePattern": ".+\\.js$", | ||
"excludePattern": "(node_modules(\\\\|/))" | ||
}, | ||
"plugins": [ | ||
"./jsdoc-plugin" | ||
], | ||
"opts": { | ||
"template": "node_modules/docdash/", | ||
"encoding": "utf8", | ||
"destination": "jsdocs/", | ||
"recurse": true, | ||
"verbose": true, | ||
"access": "public" | ||
}, | ||
"templates": { | ||
"cleverLinks": false, | ||
"monospaceLinks": false, | ||
"default": { | ||
"useLongnameInNav": true | ||
} | ||
}, | ||
"openGraph": { | ||
"title": "UI5 Tooling - API Reference", | ||
"type": "website", | ||
"image": "https://sap.github.io/ui5-tooling/docs/images/UI5_logo_wide.png", | ||
"site_name": "UI5 Tooling - API Reference", | ||
"url": "https://sap.github.io/ui5-tooling/" | ||
}, | ||
"docdash": { | ||
"sectionOrder": [ | ||
"Modules", | ||
"Namespaces", | ||
"Classes", | ||
"Externals", | ||
"Events", | ||
"Mixins", | ||
"Tutorials", | ||
"Interfaces" | ||
], | ||
"meta": { | ||
"title": "UI5 Tooling - API Reference - UI5 FS", | ||
"description": "UI5 Tooling - API Reference - UI5 FS", | ||
"keyword": "openui5 sapui5 ui5 build development tool api reference" | ||
}, | ||
"search": true, | ||
"wrap": true, | ||
"menu": { | ||
"GitHub": { | ||
"href": "https://github.com/SAP/ui5-fs", | ||
"target": "_blank", | ||
"class": "menu-item", | ||
"id": "github_link" | ||
} | ||
} | ||
} | ||
} |
@@ -73,7 +73,10 @@ const stream = require("stream"); | ||
this._createStream = createStream || null; | ||
this._stream = stream || null; | ||
this._buffer = buffer || null; | ||
if (string) { | ||
this._buffer = Buffer.from(string, "utf8"); | ||
if (createStream) { | ||
this._createStream = createStream; | ||
} else if (stream) { | ||
this._stream = stream; | ||
} else if (buffer) { | ||
this.setBuffer(buffer); | ||
} else if (typeof string === "string" || string instanceof String) { | ||
this.setString(string); | ||
} | ||
@@ -234,2 +237,5 @@ | ||
* Gets the resources stat info. | ||
* Note that a resources stat information is not updated when the resource is being modified. | ||
* Also, depending on the used adapter, some fields might be missing which would be present for a | ||
* [fs.Stats]{@link https://nodejs.org/api/fs.html#fs_class_fs_stats} instance. | ||
* | ||
@@ -244,2 +250,17 @@ * @public | ||
/** | ||
* Size in bytes allocated by the underlying buffer. | ||
* | ||
* @see {TypedArray#byteLength} | ||
* @returns {Promise<number>} size in bytes, <code>0</code> if there is no content yet | ||
*/ | ||
async getSize() { | ||
// if resource does not have any content it should have 0 bytes | ||
if (!this._buffer && !this._createStream && !this._stream) { | ||
return 0; | ||
} | ||
const buffer = await this.getBuffer(); | ||
return buffer.byteLength; | ||
} | ||
_getNameFromPath(virPath) { | ||
@@ -246,0 +267,0 @@ return path.posix.basename(virPath); |
{ | ||
"name": "@ui5/fs", | ||
"version": "2.0.1", | ||
"version": "2.0.2", | ||
"description": "UI5 Tooling - File System Abstraction", | ||
@@ -101,4 +101,4 @@ "author": "SAP SE (https://www.sap.com)", | ||
"clone": "^2.1.0", | ||
"globby": "^11.0.0", | ||
"graceful-fs": "^4.2.3", | ||
"globby": "^11.0.1", | ||
"graceful-fs": "^4.2.4", | ||
"make-dir": "^3.1.0", | ||
@@ -113,3 +113,3 @@ "micromatch": "^4.0.2", | ||
"devDependencies": { | ||
"ava": "^3.8.1", | ||
"ava": "^3.10.1", | ||
"chai": "^4.1.2", | ||
@@ -123,5 +123,5 @@ "chai-fs": "^2.0.0", | ||
"eslint-config-google": "^0.14.0", | ||
"eslint-plugin-jsdoc": "^24.0.0", | ||
"jsdoc": "^3.6.4", | ||
"nyc": "^15.0.1", | ||
"eslint-plugin-jsdoc": "^24.0.6", | ||
"jsdoc": "^3.6.5", | ||
"nyc": "^15.1.0", | ||
"open-cli": "^6.0.1", | ||
@@ -128,0 +128,0 @@ "rimraf": "^3.0.2", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
89755
22
2014
Updatedglobby@^11.0.1
Updatedgraceful-fs@^4.2.4