Comparing version 3.0.3 to 3.0.4
@@ -5,6 +5,12 @@ # Changelog | ||
A list of unreleased changes can be found [here](https://github.com/SAP/ui5-fs/compare/v3.0.3...HEAD). | ||
A list of unreleased changes can be found [here](https://github.com/SAP/ui5-fs/compare/v3.0.4...HEAD). | ||
<a name="v3.0.4"></a> | ||
## [v3.0.4] - 2023-05-22 | ||
### Bug Fixes | ||
- Do not prefix excludes when creating a reader ([#504](https://github.com/SAP/ui5-fs/issues/504)) [`f765894`](https://github.com/SAP/ui5-fs/commit/f765894df3854242dc308b32581e3d234bbcf27e) | ||
<a name="v3.0.3"></a> | ||
## [v3.0.3] - 2023-04-18 | ||
## [v3.0.3] - 2023-04-21 | ||
### Dependency Updates | ||
@@ -174,2 +180,3 @@ - Bump minimatch from 8.0.4 to 9.0.0 ([#497](https://github.com/SAP/ui5-fs/issues/497)) [`56d4542`](https://github.com/SAP/ui5-fs/commit/56d45423458564db7c2bdf7d1cdbd174c2057232) | ||
- **AbstractAdapter:** Fix normalization of globstar [`6d484e8`](https://github.com/SAP/ui5-fs/commit/6d484e847b62aa0829641f25a76dcc89b0840d44) | ||
[v3.0.4]: https://github.com/SAP/ui5-fs/compare/v3.0.3...v3.0.4 | ||
[v3.0.3]: https://github.com/SAP/ui5-fs/compare/v3.0.2...v3.0.3 | ||
@@ -176,0 +183,0 @@ [v3.0.2]: https://github.com/SAP/ui5-fs/compare/v3.0.1...v3.0.2 |
@@ -12,2 +12,4 @@ import path from "node:path"; | ||
import Link from "./readers/Link.js"; | ||
import {getLogger} from "@ui5/logger"; | ||
const log = getLogger("resources:resourceFactory"); | ||
@@ -62,5 +64,2 @@ /** | ||
export function createReader({fsBasePath, virBasePath, project, excludes = [], name}) { | ||
const normalizedExcludes = excludes.map((pattern) => { | ||
return prefixGlobPattern(pattern, virBasePath); | ||
}); | ||
if (!fsBasePath) { | ||
@@ -71,2 +70,23 @@ // Creating a reader with a memory adapter seems pointless right now | ||
} | ||
let normalizedExcludes = excludes; | ||
// If a project is supplied, and that project is of type application, | ||
// Prefix all exclude patterns with the virtual base path (unless it already starts with that) | ||
// TODO 4.0: // TODO specVersion 4.0: Disallow excludes without namespaced prefix in configuration | ||
// Specifying an exclude for "/test" is disambigous as it neither reflects the source path nor the | ||
// ui5 runtime path of the excluded resources. Therefore, only allow paths like /resources/<namespace>/test | ||
// starting with specVersion 4.0 | ||
if (excludes.length && project && project.getType() === "application") { | ||
normalizedExcludes = excludes.map((pattern) => { | ||
if (pattern.startsWith(virBasePath) || pattern.startsWith("!" + virBasePath)) { | ||
return pattern; | ||
} | ||
log.verbose( | ||
`Prefixing exclude pattern defined in application project ${project.getName()}: ${pattern}`); | ||
return prefixGlobPattern(pattern, virBasePath); | ||
}); | ||
// Flatten list of patterns | ||
normalizedExcludes = Array.prototype.concat.apply([], normalizedExcludes); | ||
log.verbose(`Effective exclude patterns for application project ${project.getName()}:\n` + | ||
normalizedExcludes.join(", ")); | ||
} | ||
return new ReaderCollection({ | ||
@@ -262,3 +282,3 @@ name, | ||
} | ||
return Array.prototype.concat.apply([], resultGlobs); | ||
return resultGlobs; | ||
} |
{ | ||
"name": "@ui5/fs", | ||
"version": "3.0.3", | ||
"version": "3.0.4", | ||
"description": "UI5 Tooling - File System Abstraction", | ||
@@ -129,3 +129,3 @@ "author": { | ||
"micromatch": "^4.0.5", | ||
"minimatch": "^9.0.0", | ||
"minimatch": "^9.0.1", | ||
"pretty-hrtime": "^1.0.3", | ||
@@ -143,14 +143,14 @@ "random-int": "^3.0.0" | ||
"docdash": "^2.0.1", | ||
"eslint": "^8.38.0", | ||
"eslint": "^8.41.0", | ||
"eslint-config-google": "^0.14.0", | ||
"eslint-plugin-ava": "^14.0.0", | ||
"eslint-plugin-jsdoc": "^41.1.2", | ||
"esmock": "^2.2.1", | ||
"eslint-plugin-jsdoc": "^44.2.4", | ||
"esmock": "^2.2.3", | ||
"jsdoc": "^4.0.2", | ||
"nyc": "^15.1.0", | ||
"open-cli": "^7.2.0", | ||
"rimraf": "^5.0.0", | ||
"sinon": "^15.0.3", | ||
"rimraf": "^5.0.1", | ||
"sinon": "^15.1.0", | ||
"tap-xunit": "^2.4.1" | ||
} | ||
} |
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
135946
2921
Updatedminimatch@^9.0.1