@lage-run/config 0.4.17 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +31 -1
- package/CHANGELOG.md +18 -2
- package/lib/getConfig.js +2 -1
- package/lib/getConfig.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js.map +1 -1
- package/lib/types/CacheOptions.d.ts +31 -1
- package/lib/types/ConfigOptions.d.ts +4 -0
- package/package.json +3 -3
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,37 @@
|
|
|
2
2
|
"name": "@lage-run/config",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "Thu,
|
|
5
|
+
"date": "Thu, 25 Sep 2025 18:00:26 GMT",
|
|
6
|
+
"version": "0.6.0",
|
|
7
|
+
"tag": "@lage-run/config_v0.6.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "brunoru@microsoft.com",
|
|
12
|
+
"package": "@lage-run/config",
|
|
13
|
+
"commit": "38888a6891fa45232aeba64f222d17177114dd23",
|
|
14
|
+
"comment": "Enhance CredentialCache to support multiple Azure credential types and allow configuration of credentialName in cache options"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Mon, 01 Sep 2025 08:10:36 GMT",
|
|
21
|
+
"version": "0.5.0",
|
|
22
|
+
"tag": "@lage-run/config_v0.5.0",
|
|
23
|
+
"comments": {
|
|
24
|
+
"minor": [
|
|
25
|
+
{
|
|
26
|
+
"author": "dannyvv@microsoft.com",
|
|
27
|
+
"package": "@lage-run/config",
|
|
28
|
+
"commit": "5f2d28335f9293a5cc44a3bc6a99f41f8f981e7c",
|
|
29
|
+
"comment": "Add merge logic for targetConfig"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"date": "Thu, 07 Aug 2025 08:10:10 GMT",
|
|
6
36
|
"version": "0.4.17",
|
|
7
37
|
"tag": "@lage-run/config_v0.4.17",
|
|
8
38
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
# Change Log - @lage-run/config
|
|
2
2
|
|
|
3
|
-
<!-- This log was last generated on Thu,
|
|
3
|
+
<!-- This log was last generated on Thu, 25 Sep 2025 18:00:26 GMT and should not be manually modified. -->
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.6.0
|
|
8
|
+
|
|
9
|
+
Thu, 25 Sep 2025 18:00:26 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Enhance CredentialCache to support multiple Azure credential types and allow configuration of credentialName in cache options (brunoru@microsoft.com)
|
|
14
|
+
|
|
15
|
+
## 0.5.0
|
|
16
|
+
|
|
17
|
+
Mon, 01 Sep 2025 08:10:36 GMT
|
|
18
|
+
|
|
19
|
+
### Minor changes
|
|
20
|
+
|
|
21
|
+
- Add merge logic for targetConfig (dannyvv@microsoft.com)
|
|
22
|
+
|
|
7
23
|
## 0.4.17
|
|
8
24
|
|
|
9
|
-
Thu, 07 Aug 2025 08:
|
|
25
|
+
Thu, 07 Aug 2025 08:10:10 GMT
|
|
10
26
|
|
|
11
27
|
### Patches
|
|
12
28
|
|
package/lib/getConfig.js
CHANGED
|
@@ -36,6 +36,7 @@ async function getConfig(cwd) {
|
|
|
36
36
|
runners: config?.runners ?? {},
|
|
37
37
|
workerIdleMemoryLimit: config?.workerIdleMemoryLimit ?? _os.default.totalmem(),
|
|
38
38
|
concurrency: config?.concurrency ?? availableParallelism,
|
|
39
|
-
allowNoTargetRuns: config?.allowNoTargetRuns ?? false
|
|
39
|
+
allowNoTargetRuns: config?.allowNoTargetRuns ?? false,
|
|
40
|
+
enableTargetConfigMerging: config?.enableTargetConfigMerging ?? false
|
|
40
41
|
};
|
|
41
42
|
}
|
package/lib/getConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/getConfig.ts"],"sourcesContent":["import os from \"os\";\nimport { readConfigFile } from \"./readConfigFile.js\";\nimport type { ConfigOptions } from \"./types/ConfigOptions.js\";\nimport type { CacheOptions } from \"./types/CacheOptions.js\";\n\n/**\n * Get the lage config with defaults.\n */\nexport async function getConfig(cwd: string): Promise<ConfigOptions> {\n const config = (await readConfigFile(cwd)) || ({} as Partial<ConfigOptions>);\n const availableParallelism = \"availableParallelism\" in os ? (os as any)[\"availableParallelism\"]() : os.cpus().length - 1;\n return {\n cacheOptions: config?.cacheOptions ?? ({} as CacheOptions),\n ignore: config?.ignore ?? [],\n npmClient: config?.npmClient ?? \"npm\",\n pipeline: config?.pipeline ?? {},\n priorities: config?.priorities ?? [],\n repoWideChanges: config?.repoWideChanges ?? [\n \"lage.config.js\",\n \"package-lock.json\",\n \"yarn.lock\",\n \"pnpm-lock.yaml\",\n \"lerna.json\",\n \"rush.json\",\n ],\n loggerOptions: config?.loggerOptions ?? {},\n runners: config?.runners ?? {},\n workerIdleMemoryLimit: config?.workerIdleMemoryLimit ?? os.totalmem(), // 0 means no limit,\n concurrency: config?.concurrency ?? availableParallelism,\n allowNoTargetRuns: config?.allowNoTargetRuns ?? false,\n };\n}\n"],"names":["getConfig","cwd","config","readConfigFile","availableParallelism","os","cpus","length","cacheOptions","ignore","npmClient","pipeline","priorities","repoWideChanges","loggerOptions","runners","workerIdleMemoryLimit","totalmem","concurrency","allowNoTargetRuns"],"mappings":";;;;+BAQsBA;;;eAAAA;;;2DARP;gCACgB;;;;;;AAOxB,eAAeA,UAAUC,GAAW;IACzC,MAAMC,SAAS,AAAC,MAAMC,IAAAA,8BAAc,EAACF,QAAU,CAAC;IAChD,MAAMG,uBAAuB,0BAA0BC,WAAE,GAAG,AAACA,WAAE,AAAQ,CAAC,uBAAuB,KAAKA,WAAE,CAACC,IAAI,GAAGC,MAAM,GAAG;IACvH,OAAO;QACLC,cAAcN,QAAQM,gBAAiB,CAAC;QACxCC,QAAQP,QAAQO,UAAU,EAAE;QAC5BC,WAAWR,QAAQQ,aAAa;QAChCC,UAAUT,QAAQS,YAAY,CAAC;QAC/BC,YAAYV,QAAQU,cAAc,EAAE;QACpCC,iBAAiBX,QAAQW,mBAAmB;YAC1C;YACA;YACA;YACA;YACA;YACA;SACD;QACDC,eAAeZ,QAAQY,iBAAiB,CAAC;QACzCC,SAASb,QAAQa,WAAW,CAAC;QAC7BC,uBAAuBd,QAAQc,yBAAyBX,WAAE,CAACY,QAAQ;QACnEC,aAAahB,QAAQgB,eAAed;QACpCe,mBAAmBjB,QAAQiB,qBAAqB;
|
|
1
|
+
{"version":3,"sources":["../src/getConfig.ts"],"sourcesContent":["import os from \"os\";\nimport { readConfigFile } from \"./readConfigFile.js\";\nimport type { ConfigOptions } from \"./types/ConfigOptions.js\";\nimport type { CacheOptions } from \"./types/CacheOptions.js\";\n\n/**\n * Get the lage config with defaults.\n */\nexport async function getConfig(cwd: string): Promise<ConfigOptions> {\n const config = (await readConfigFile(cwd)) || ({} as Partial<ConfigOptions>);\n const availableParallelism = \"availableParallelism\" in os ? (os as any)[\"availableParallelism\"]() : os.cpus().length - 1;\n return {\n cacheOptions: config?.cacheOptions ?? ({} as CacheOptions),\n ignore: config?.ignore ?? [],\n npmClient: config?.npmClient ?? \"npm\",\n pipeline: config?.pipeline ?? {},\n priorities: config?.priorities ?? [],\n repoWideChanges: config?.repoWideChanges ?? [\n \"lage.config.js\",\n \"package-lock.json\",\n \"yarn.lock\",\n \"pnpm-lock.yaml\",\n \"lerna.json\",\n \"rush.json\",\n ],\n loggerOptions: config?.loggerOptions ?? {},\n runners: config?.runners ?? {},\n workerIdleMemoryLimit: config?.workerIdleMemoryLimit ?? os.totalmem(), // 0 means no limit,\n concurrency: config?.concurrency ?? availableParallelism,\n allowNoTargetRuns: config?.allowNoTargetRuns ?? false,\n enableTargetConfigMerging: config?.enableTargetConfigMerging ?? false,\n };\n}\n"],"names":["getConfig","cwd","config","readConfigFile","availableParallelism","os","cpus","length","cacheOptions","ignore","npmClient","pipeline","priorities","repoWideChanges","loggerOptions","runners","workerIdleMemoryLimit","totalmem","concurrency","allowNoTargetRuns","enableTargetConfigMerging"],"mappings":";;;;+BAQsBA;;;eAAAA;;;2DARP;gCACgB;;;;;;AAOxB,eAAeA,UAAUC,GAAW;IACzC,MAAMC,SAAS,AAAC,MAAMC,IAAAA,8BAAc,EAACF,QAAU,CAAC;IAChD,MAAMG,uBAAuB,0BAA0BC,WAAE,GAAG,AAACA,WAAE,AAAQ,CAAC,uBAAuB,KAAKA,WAAE,CAACC,IAAI,GAAGC,MAAM,GAAG;IACvH,OAAO;QACLC,cAAcN,QAAQM,gBAAiB,CAAC;QACxCC,QAAQP,QAAQO,UAAU,EAAE;QAC5BC,WAAWR,QAAQQ,aAAa;QAChCC,UAAUT,QAAQS,YAAY,CAAC;QAC/BC,YAAYV,QAAQU,cAAc,EAAE;QACpCC,iBAAiBX,QAAQW,mBAAmB;YAC1C;YACA;YACA;YACA;YACA;YACA;SACD;QACDC,eAAeZ,QAAQY,iBAAiB,CAAC;QACzCC,SAASb,QAAQa,WAAW,CAAC;QAC7BC,uBAAuBd,QAAQc,yBAAyBX,WAAE,CAACY,QAAQ;QACnEC,aAAahB,QAAQgB,eAAed;QACpCe,mBAAmBjB,QAAQiB,qBAAqB;QAChDC,2BAA2BlB,QAAQkB,6BAA6B;IAClE;AACF"}
|
package/lib/index.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export { readConfigFile } from "./readConfigFile.js";
|
|
|
5
5
|
export type { PipelineDefinition } from "./types/PipelineDefinition.js";
|
|
6
6
|
export type { ConfigOptions } from "./types/ConfigOptions.js";
|
|
7
7
|
export type { CacheOptions } from "./types/CacheOptions.js";
|
|
8
|
+
export type { AzureCredentialName } from "./types/CacheOptions.js";
|
|
8
9
|
export type { LoggerOptions } from "./types/LoggerOptions.js";
|
|
9
10
|
export type { Priority } from "./types/Priority.js";
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { getConfig } from \"./getConfig.js\";\nexport { getConcurrency } from \"./getConcurrency.js\";\nexport { getMaxWorkersPerTask, getMaxWorkersPerTaskFromOptions } from \"./getMaxWorkersPerTask.js\";\nexport { readConfigFile } from \"./readConfigFile.js\";\nexport type { PipelineDefinition } from \"./types/PipelineDefinition.js\";\nexport type { ConfigOptions } from \"./types/ConfigOptions.js\";\nexport type { CacheOptions } from \"./types/CacheOptions.js\";\nexport type { LoggerOptions } from \"./types/LoggerOptions.js\";\nexport type { Priority } from \"./types/Priority.js\";\n"],"names":["getConcurrency","getConfig","getMaxWorkersPerTask","getMaxWorkersPerTaskFromOptions","readConfigFile"],"mappings":";;;;;;;;;;;QACSA;eAAAA,8BAAc;;QADdC;eAAAA,oBAAS;;QAETC;eAAAA,0CAAoB;;QAAEC;eAAAA,qDAA+B;;QACrDC;eAAAA,8BAAc;;;2BAHG;gCACK;sCACuC;gCACvC"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { getConfig } from \"./getConfig.js\";\nexport { getConcurrency } from \"./getConcurrency.js\";\nexport { getMaxWorkersPerTask, getMaxWorkersPerTaskFromOptions } from \"./getMaxWorkersPerTask.js\";\nexport { readConfigFile } from \"./readConfigFile.js\";\nexport type { PipelineDefinition } from \"./types/PipelineDefinition.js\";\nexport type { ConfigOptions } from \"./types/ConfigOptions.js\";\nexport type { CacheOptions } from \"./types/CacheOptions.js\";\nexport type { AzureCredentialName } from \"./types/CacheOptions.js\";\nexport type { LoggerOptions } from \"./types/LoggerOptions.js\";\nexport type { Priority } from \"./types/Priority.js\";\n"],"names":["getConcurrency","getConfig","getMaxWorkersPerTask","getMaxWorkersPerTaskFromOptions","readConfigFile"],"mappings":";;;;;;;;;;;QACSA;eAAAA,8BAAc;;QADdC;eAAAA,oBAAS;;QAETC;eAAAA,0CAAoB;;QAAEC;eAAAA,qDAA+B;;QACrDC;eAAAA,8BAAc;;;2BAHG;gCACK;sCACuC;gCACvC"}
|
|
@@ -1,10 +1,39 @@
|
|
|
1
1
|
import type { Config as BackfillCacheOptions, CustomStorageConfig } from "backfill-config";
|
|
2
|
+
/** Allowed credential names matching camelCase of @azure/identity credential class names
|
|
3
|
+
* @see https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains
|
|
4
|
+
*/
|
|
5
|
+
export type AzureCredentialName = "environment" | "workload-identity" | "managed-identity" | "visual-studio-code" | "azure-cli";
|
|
6
|
+
/** Locally augment only the Azure Blob connection-string options by adding an optional `credentialName`.
|
|
7
|
+
* This does NOT modify upstream types; it narrows and re-composes the union for our config surface.
|
|
8
|
+
*/
|
|
9
|
+
type AzureBlobFromBackfill = Extract<BackfillCacheOptions["cacheStorageConfig"], {
|
|
10
|
+
provider: "azure-blob";
|
|
11
|
+
}>;
|
|
12
|
+
type AugmentedAzureBlobConfig = AzureBlobFromBackfill extends {
|
|
13
|
+
provider: "azure-blob";
|
|
14
|
+
options: infer O;
|
|
15
|
+
} ? {
|
|
16
|
+
provider: "azure-blob";
|
|
17
|
+
options: O extends any ? O extends {
|
|
18
|
+
connectionString: string;
|
|
19
|
+
} ? // Assumption: make `credentialName` optional to preserve backward compatibility
|
|
20
|
+
O & {
|
|
21
|
+
credentialName?: AzureCredentialName;
|
|
22
|
+
} : O : never;
|
|
23
|
+
} : never;
|
|
24
|
+
/** Recompose the cache storage config union to swap in our augmented Azure Blob type
|
|
25
|
+
* This is necessary because we want to add the `credentialName` property only to the Azure Blob config,
|
|
26
|
+
* without affecting other cache storage configs.
|
|
27
|
+
*/
|
|
28
|
+
type ExtendedCacheStorageConfig = Exclude<BackfillCacheOptions["cacheStorageConfig"], {
|
|
29
|
+
provider: "azure-blob";
|
|
30
|
+
} | CustomStorageConfig> | AugmentedAzureBlobConfig;
|
|
2
31
|
export type CacheOptions = Omit<BackfillCacheOptions, "cacheStorageConfig"> & {
|
|
3
32
|
/**
|
|
4
33
|
* Use this to specify a remote cache provider such as `'azure-blob'`.
|
|
5
34
|
* @see https://github.com/microsoft/backfill#configuration
|
|
6
35
|
*/
|
|
7
|
-
cacheStorageConfig?:
|
|
36
|
+
cacheStorageConfig?: ExtendedCacheStorageConfig;
|
|
8
37
|
/**
|
|
9
38
|
* Whether to write to the remote cache - useful for continuous integration systems to provide build-over-build cache.
|
|
10
39
|
* It is recommended to turn this OFF for local development, turning remote cache to be a build acceleration through remote cache downloads.
|
|
@@ -25,3 +54,4 @@ export type CacheOptions = Omit<BackfillCacheOptions, "cacheStorageConfig"> & {
|
|
|
25
54
|
*/
|
|
26
55
|
cacheKey?: string;
|
|
27
56
|
};
|
|
57
|
+
export {};
|
|
@@ -53,4 +53,8 @@ export interface ConfigOptions {
|
|
|
53
53
|
* Allows for no targets run
|
|
54
54
|
*/
|
|
55
55
|
allowNoTargetRuns: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Enables the merging of target config files, rather than simply replace it when multiple matches are encoutered
|
|
58
|
+
*/
|
|
59
|
+
enableTargetConfigMerging: boolean;
|
|
56
60
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lage-run/config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Config management for Lage",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@lage-run/logger": "^1.3.1",
|
|
21
|
-
"@lage-run/runners": "^1.2.
|
|
22
|
-
"@lage-run/target-graph": "^0.
|
|
21
|
+
"@lage-run/runners": "^1.2.4",
|
|
22
|
+
"@lage-run/target-graph": "^0.12.0",
|
|
23
23
|
"backfill-config": "6.7.1",
|
|
24
24
|
"cosmiconfig": "7.1.0",
|
|
25
25
|
"workspace-tools": "0.38.4"
|