@codedrifters/constructs 0.0.4 → 0.0.5
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/README.md +2 -71
- package/lib/static-hosting/static-content.js +3 -3
- package/package.json +3 -2
- package/lib/lib/git-utils.d.ts +0 -8
- package/lib/lib/git-utils.js +0 -36
- package/lib/lib/string-utils.d.ts +0 -14
- package/lib/lib/string-utils.js +0 -64
package/README.md
CHANGED
|
@@ -12,9 +12,6 @@ A collection of reusable AWS CDK constructs frequently used in CodeDrifters proj
|
|
|
12
12
|
- [Static Hosting Constructs](#static-hosting-constructs)
|
|
13
13
|
- [StaticHosting](#statichosting)
|
|
14
14
|
- [StaticContent](#staticcontent)
|
|
15
|
-
- [Utility Functions](#utility-functions)
|
|
16
|
-
- [Git Utilities](#git-utilities)
|
|
17
|
-
- [String Utilities](#string-utilities)
|
|
18
15
|
- [Complete Example](#complete-example)
|
|
19
16
|
- [API Reference](#api-reference)
|
|
20
17
|
- [Further Documentation](#further-documentation)
|
|
@@ -37,6 +34,8 @@ For more information about AWS CDK constructs, see the [AWS CDK Developer Guide]
|
|
|
37
34
|
|
|
38
35
|
Add the package to your CDK project using Configulator/Projen configuration. This ensures consistent dependency management across your project.
|
|
39
36
|
|
|
37
|
+
> **Note:** Always configure dependencies through Projen configuration files, never by manually running `npm install`, `pnpm add`, or `yarn add`. Manual installation will create conflicts with Projen-managed files.
|
|
38
|
+
|
|
40
39
|
### In a Monorepo (Recommended)
|
|
41
40
|
|
|
42
41
|
If you're using `@codedrifters/configulator` in a monorepo, add the package as a dependency in your sub-project configuration:
|
|
@@ -312,68 +311,6 @@ For example:
|
|
|
312
311
|
- Branch: `feature-123`, Domain: `example.com` → Path: `feature-123.example.com/`
|
|
313
312
|
- Branch: `main`, Domain: `example.com` → Path: `main.example.com/` (or just `example.com/` if subdomain is empty)
|
|
314
313
|
|
|
315
|
-
### Utility Functions
|
|
316
|
-
|
|
317
|
-
#### Git Utilities
|
|
318
|
-
|
|
319
|
-
Helper functions for working with Git in CDK deployments.
|
|
320
|
-
|
|
321
|
-
**`findGitBranch()`**
|
|
322
|
-
|
|
323
|
-
Returns the current git branch name.
|
|
324
|
-
|
|
325
|
-
```typescript
|
|
326
|
-
import { findGitBranch } from '@codedrifters/constructs/lib/git-utils';
|
|
327
|
-
|
|
328
|
-
const branch = findGitBranch();
|
|
329
|
-
// Returns: "feature/1234" or "main" etc.
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
**`findGitRepoName()`**
|
|
333
|
-
|
|
334
|
-
Returns the repository name. Works in both local environments and GitHub Actions.
|
|
335
|
-
|
|
336
|
-
```typescript
|
|
337
|
-
import { findGitRepoName } from '@codedrifters/constructs/lib/git-utils';
|
|
338
|
-
|
|
339
|
-
const repoName = findGitRepoName();
|
|
340
|
-
// Returns: "codedrifters/packages" or similar
|
|
341
|
-
```
|
|
342
|
-
|
|
343
|
-
In GitHub Actions, this uses the `GITHUB_REPOSITORY` environment variable. Locally, it extracts the name from the git remote URL.
|
|
344
|
-
|
|
345
|
-
#### String Utilities
|
|
346
|
-
|
|
347
|
-
Helper functions for string manipulation.
|
|
348
|
-
|
|
349
|
-
**`hashString(inString: string, trimLength?: number)`**
|
|
350
|
-
|
|
351
|
-
Creates a SHA-256 hash of a string, optionally trimmed to a specific length.
|
|
352
|
-
|
|
353
|
-
```typescript
|
|
354
|
-
import { hashString } from '@codedrifters/constructs/lib/string-utils';
|
|
355
|
-
|
|
356
|
-
const hash = hashString('my-string');
|
|
357
|
-
// Returns: Full SHA-256 hash
|
|
358
|
-
|
|
359
|
-
const shortHash = hashString('my-string', 8);
|
|
360
|
-
// Returns: First 8 characters of hash
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
**`trimStringLength(inputString: string, maxLength: number)`**
|
|
364
|
-
|
|
365
|
-
Truncates a string to a maximum length if it exceeds it.
|
|
366
|
-
|
|
367
|
-
```typescript
|
|
368
|
-
import { trimStringLength } from '@codedrifters/constructs/lib/string-utils';
|
|
369
|
-
|
|
370
|
-
const short = trimStringLength('very long string', 10);
|
|
371
|
-
// Returns: "very long " (truncated to 10 chars)
|
|
372
|
-
|
|
373
|
-
const unchanged = trimStringLength('short', 10);
|
|
374
|
-
// Returns: "short" (no change needed)
|
|
375
|
-
```
|
|
376
|
-
|
|
377
314
|
## Complete Example
|
|
378
315
|
|
|
379
316
|
Here's a complete example showing how to use `StaticHosting` and `StaticContent` together:
|
|
@@ -477,12 +414,6 @@ The package exports the following:
|
|
|
477
414
|
- `StaticHosting` - Complete static hosting solution
|
|
478
415
|
- `StaticContent` - Static content deployment
|
|
479
416
|
|
|
480
|
-
**Utilities:**
|
|
481
|
-
- `findGitBranch()` - Get current git branch
|
|
482
|
-
- `findGitRepoName()` - Get repository name
|
|
483
|
-
- `hashString()` - Hash a string
|
|
484
|
-
- `trimStringLength()` - Truncate a string
|
|
485
|
-
|
|
486
417
|
### Type Definitions
|
|
487
418
|
|
|
488
419
|
**PrivateBucketProps**
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StaticContent = void 0;
|
|
4
|
+
const utils_1 = require("@codedrifters/utils");
|
|
4
5
|
const aws_s3_1 = require("aws-cdk-lib/aws-s3");
|
|
5
6
|
const aws_s3_deployment_1 = require("aws-cdk-lib/aws-s3-deployment");
|
|
6
7
|
const aws_ssm_1 = require("aws-cdk-lib/aws-ssm");
|
|
7
8
|
const change_case_1 = require("change-case");
|
|
8
9
|
const constructs_1 = require("constructs");
|
|
9
|
-
const git_utils_1 = require("../lib/git-utils");
|
|
10
10
|
class StaticContent extends constructs_1.Construct {
|
|
11
11
|
constructor(scope, id, props) {
|
|
12
12
|
super(scope, id);
|
|
@@ -19,7 +19,7 @@ class StaticContent extends constructs_1.Construct {
|
|
|
19
19
|
**************************************************************************/
|
|
20
20
|
const { bucketArnParamName, contentSourceDirectory, contentDestinationDirectory, subDomain, fullDomain, } = {
|
|
21
21
|
bucketArnParamName: "/STATIC_WEBSITE/BUCKET_ARN",
|
|
22
|
-
subDomain: (0,
|
|
22
|
+
subDomain: (0, utils_1.findGitBranch)(),
|
|
23
23
|
...props,
|
|
24
24
|
};
|
|
25
25
|
/***************************************************************************
|
|
@@ -49,4 +49,4 @@ class StaticContent extends constructs_1.Construct {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
exports.StaticContent = StaticContent;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhdGljLWhvc3Rpbmcvc3RhdGljLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0NBQW9EO0FBQ3BELCtDQUE0QztBQUM1QyxxRUFBeUU7QUFDekUsaURBQXNEO0FBQ3RELDZDQUF3QztBQUN4QywyQ0FBdUM7QUFxRHZDLE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBQzFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQjs7Ozs7O29GQU00RTtRQUU1RSxNQUFNLEVBQ0osa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsU0FBUyxFQUNULFVBQVUsR0FDWCxHQUFHO1lBQ0Ysa0JBQWtCLEVBQUUsNEJBQTRCO1lBQ2hELFNBQVMsRUFBRSxJQUFBLHFCQUFhLEdBQUU7WUFDMUIsR0FBRyxLQUFLO1NBQ1QsQ0FBQztRQUVGOzs7O29GQUk0RTtRQUU1RSxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUEsdUJBQVMsRUFBQyxTQUFTLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0QsTUFBTSxTQUFTLEdBQUcseUJBQWUsQ0FBQyx1QkFBdUIsQ0FDdkQsSUFBSSxFQUNKLGtCQUFrQixDQUNuQixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUcsZUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRS9EOzs7Ozs7b0ZBTTRFO1FBRTVFLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYztZQUN4QyxDQUFDLENBQUMsRUFBRTtZQUNKLENBQUMsQ0FBQyxDQUFDLDBCQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztRQUUzQyxJQUFJLG9DQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDbkMsT0FBTztZQUNQLGlCQUFpQixFQUFFLE1BQU07WUFDekIsY0FBYyxFQUFFLEtBQUs7WUFDckIsb0JBQW9CLEVBQUUsR0FBRyxTQUFTLEdBQUcsMkJBQTJCLEVBQUU7U0FDbkUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBekRELHNDQXlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbmRHaXRCcmFuY2ggfSBmcm9tIFwiQGNvZGVkcmlmdGVycy91dGlsc1wiO1xuaW1wb3J0IHsgQnVja2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgQnVja2V0RGVwbG95bWVudCwgU291cmNlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy1kZXBsb3ltZW50XCI7XG5pbXBvcnQgeyBTdHJpbmdQYXJhbWV0ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNzbVwiO1xuaW1wb3J0IHsgcGFyYW1DYXNlIH0gZnJvbSBcImNoYW5nZS1jYXNlXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICpcbiAqICBTVEFUSUMgQ09OVEVOVCBVUExPQURFUlxuICpcbiAqICBUaGlzIGNvbnN0cnVjdCB1cGxvYWRzIGEgZGlyZWN0b3J5IG9mIGNvbnRlbnQgZnJvbSBhIGxvY2FsIGxvY2F0aW9uIGludG8gUzMuXG4gKlxuICogIFRvIHN1cHBvcnQgUFIgYW5kIGJyYW5jaCBzcGVjaWZpYyBidWlsZHMsIGVhY2ggUzMgYnVja2V0IGNhbiBzdG9yZSBjb250ZW50XG4gKiAgZm9yIG11bHRpcGxlIGRvbWFpbnMgYW5kIGJ1aWxkcywgdXNpbmcgdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gKlxuICogIFMzLWJ1Y2tldC9kb21haW4vKlxuICpcbiAqICBBIGJ1Y2tldCB1c2VkIHRvIHN0b3JlIGNvbnRlbnQgZm9yIHN0YWdlLm9wZW5oaS5vcmcgbWlnaHQgaGF2ZSB0aGVcbiAqICBmb2xsb3dpbmcgZGlyZWN0b3J5IHN0cnVjdHVyZSAoYWxsIGluIHRoZSBzYW1lIGJ1Y2tldCkuXG4gKlxuICogIC9zdGFnZS5vcGVuaGkub3JnLyogLT4gc2VydmVzIGNvbnRlbnQgdG8gc3RhZ2Uub3BlbmhpLm9yZ1xuICogIC9mZWF0dXJlLTcuc3RhZ2Uub3BlbmhpLm9yZy8qIC0+IHNlcnZlcyBjb250ZW50IHRvIGZlYXR1cmUtNy5zdGFnZS5vcGVuaGkub3JnXG4gKiAgL3ByLTEyMy5zdGFnZS5vcGVuaGkub3JnLyogLT4gc2VydmVzIGNvbnRlbnQgdG8gcHItMTIzLnN0YWdlLm9wZW5oaS5vcmdcbiAqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRpY0NvbnRlbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBQYXJhbWV0ZXIgbmFtZSB0byB1c2Ugd2hlbiBzdG9yaW5nIHRoZSBzdGF0aWMgaG9zdGluZyBidWNrZXQncyBBUk4uXG4gICAqIFRoaXMgaXMgbmVlZGVkIGluIG90aGVyIGxhdGVyIHN0ZXBzIHdoZW4gZGVwbG95aW5nIGhvc3RlZCBjb250ZW50IHRvIFMzLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0QXJuUGFyYW1OYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAgQWJzb2x1dGUgcGF0aCB0byBkaXJlY3RvcnkgY29udGFpbmluZyBjb250ZW50IGZvciB0aGUgd2Vic2l0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRTb3VyY2VEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogIERpcmVjdG9yeSB0byBwbGFjZSBjb250ZW50IGludG8uIFNob3VsZCBzdGFydCB3aXRoIGEgc2xhc2guXG4gICAqICBFeGFtcGxlOiAnL3dpZGdldCdcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnREZXN0aW5hdGlvbkRpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAgVGhlIHN1YiBkb21haW4gcHJlZml4IChpZTogaW1hZ2VzKVxuICAgKlxuICAgKiBAZGVmYXVsdCBnaXQgYnJhbmNoIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHN1YkRvbWFpbj86IHN0cmluZztcblxuICAvKipcbiAgICogIFRoZSBmdWxsIGRvbWFpbiAoaWU6IHN0YWdpbmcuY29kZWRyaWZ0ZXJzLmNvbSlcbiAgICovXG4gIHJlYWRvbmx5IGZ1bGxEb21haW46IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFN0YXRpY0NvbnRlbnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhdGljQ29udGVudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIEluaXRpYWwgU2V0dXBcbiAgICAgKlxuICAgICAqIFNldCBzb21lIGRlZmF1bHRzLCBidWlsZCBkb21haW4gaW5mb3JtYXRpb24uXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBjb25zdCB7XG4gICAgICBidWNrZXRBcm5QYXJhbU5hbWUsXG4gICAgICBjb250ZW50U291cmNlRGlyZWN0b3J5LFxuICAgICAgY29udGVudERlc3RpbmF0aW9uRGlyZWN0b3J5LFxuICAgICAgc3ViRG9tYWluLFxuICAgICAgZnVsbERvbWFpbixcbiAgICB9ID0ge1xuICAgICAgYnVja2V0QXJuUGFyYW1OYW1lOiBcIi9TVEFUSUNfV0VCU0lURS9CVUNLRVRfQVJOXCIsXG4gICAgICBzdWJEb21haW46IGZpbmRHaXRCcmFuY2goKSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH07XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBJbXBvcnQgYW5kIGJ1aWxkIHNvbWUgdmFsdWVzIGZyb20gUGFyYW0gU3RvcmUgZHVyaW5nIGRlcGxveW1lbnQuXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBjb25zdCBrZXlQcmVmaXggPSBbcGFyYW1DYXNlKHN1YkRvbWFpbiksIGZ1bGxEb21haW5dLmpvaW4oXCIuXCIpO1xuXG4gICAgY29uc3QgYnVja2V0QXJuID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRm9yU3RyaW5nUGFyYW1ldGVyKFxuICAgICAgdGhpcyxcbiAgICAgIGJ1Y2tldEFyblBhcmFtTmFtZSxcbiAgICApO1xuICAgIGNvbnN0IGJ1Y2tldCA9IEJ1Y2tldC5mcm9tQnVja2V0QXJuKHRoaXMsIFwiYnVja2V0XCIsIGJ1Y2tldEFybik7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBHYXRoZXIgdGhlIHNvdXJjZXMgd2UnbGwgYmUgZGVwbG95aW5nLiBXZSBuZWVkIHRvIGhhdmUgYW4gZW1wdHkgc291cmNlXG4gICAgICogZm9yIHRlc3RzIHNpbmNlIGl0IHdpbGwgY2hhbmdlIGFsbCB0aGUgdGltZSBhbmQgYm9yayB1cCB0aGUgdGVzdFxuICAgICAqIHNuYXBzaG90cyBpZiB3ZSBkb24ndC5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIGNvbnN0IHNvdXJjZXMgPSBwcm9jZXNzLmVudi5KRVNUX1dPUktFUl9JRFxuICAgICAgPyBbXVxuICAgICAgOiBbU291cmNlLmFzc2V0KGNvbnRlbnRTb3VyY2VEaXJlY3RvcnkpXTtcblxuICAgIG5ldyBCdWNrZXREZXBsb3ltZW50KHRoaXMsIFwiZGVwbG95XCIsIHtcbiAgICAgIHNvdXJjZXMsXG4gICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogYnVja2V0LFxuICAgICAgcmV0YWluT25EZWxldGU6IGZhbHNlLFxuICAgICAgZGVzdGluYXRpb25LZXlQcmVmaXg6IGAke2tleVByZWZpeH0ke2NvbnRlbnREZXN0aW5hdGlvbkRpcmVjdG9yeX1gLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -38,11 +38,12 @@
|
|
|
38
38
|
"@types/aws-lambda": "^8.10.159",
|
|
39
39
|
"change-case": "^4.0",
|
|
40
40
|
"esbuild": "^0.27.0",
|
|
41
|
-
"type-fest": "^4"
|
|
41
|
+
"type-fest": "^4",
|
|
42
|
+
"@codedrifters/utils": "0.0.0"
|
|
42
43
|
},
|
|
43
44
|
"main": "lib/index.js",
|
|
44
45
|
"license": "UNLICENSED",
|
|
45
|
-
"version": "0.0.
|
|
46
|
+
"version": "0.0.5",
|
|
46
47
|
"types": "lib/index.d.ts",
|
|
47
48
|
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
|
|
48
49
|
"scripts": {
|
package/lib/lib/git-utils.d.ts
DELETED
package/lib/lib/git-utils.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findGitRepoName = exports.findGitBranch = void 0;
|
|
4
|
-
const node_child_process_1 = require("node:child_process");
|
|
5
|
-
/**
|
|
6
|
-
* Returns the current full git branch name
|
|
7
|
-
*
|
|
8
|
-
* ie: feature/1234 returns feature/1234
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
const findGitBranch = () => {
|
|
12
|
-
return (0, node_child_process_1.execSync)("git rev-parse --abbrev-ref HEAD")
|
|
13
|
-
.toString("utf8")
|
|
14
|
-
.replace(/[\n\r\s]+$/, "");
|
|
15
|
-
};
|
|
16
|
-
exports.findGitBranch = findGitBranch;
|
|
17
|
-
const findGitRepoName = () => {
|
|
18
|
-
/**
|
|
19
|
-
* When running in github actions this will be populated.
|
|
20
|
-
*/
|
|
21
|
-
if (process.env.GITHUB_REPOSITORY) {
|
|
22
|
-
return process.env.GITHUB_REPOSITORY;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* locally, we need to extract the repo name from the git config.
|
|
26
|
-
*/
|
|
27
|
-
const remote = (0, node_child_process_1.execSync)("git config --get remote.origin.url")
|
|
28
|
-
.toString("utf8")
|
|
29
|
-
.replace(/[\n\r\s]+$/, "")
|
|
30
|
-
.trim();
|
|
31
|
-
const match = remote.match(/[:\/]([^/]+\/[^/]+?)(?:\.git)?$/);
|
|
32
|
-
const repoName = match ? match[1] : "error-repo-name";
|
|
33
|
-
return repoName;
|
|
34
|
-
};
|
|
35
|
-
exports.findGitRepoName = findGitRepoName;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9naXQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQThDO0FBRTlDOzs7OztHQUtHO0FBQ0ksTUFBTSxhQUFhLEdBQUcsR0FBVyxFQUFFO0lBQ3hDLE9BQU8sSUFBQSw2QkFBUSxFQUFDLGlDQUFpQyxDQUFDO1NBQy9DLFFBQVEsQ0FBQyxNQUFNLENBQUM7U0FDaEIsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFKVyxRQUFBLGFBQWEsaUJBSXhCO0FBRUssTUFBTSxlQUFlLEdBQUcsR0FBVyxFQUFFO0lBQzFDOztPQUVHO0lBQ0gsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sTUFBTSxHQUFHLElBQUEsNkJBQVEsRUFBQyxvQ0FBb0MsQ0FBQztTQUMxRCxRQUFRLENBQUMsTUFBTSxDQUFDO1NBQ2hCLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1NBQ3pCLElBQUksRUFBRSxDQUFDO0lBRVYsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzlELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUV0RCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFwQlcsUUFBQSxlQUFlLG1CQW9CMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJub2RlOmNoaWxkX3Byb2Nlc3NcIjtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjdXJyZW50IGZ1bGwgZ2l0IGJyYW5jaCBuYW1lXG4gKlxuICogaWU6IGZlYXR1cmUvMTIzNCByZXR1cm5zIGZlYXR1cmUvMTIzNFxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IGZpbmRHaXRCcmFuY2ggPSAoKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIGV4ZWNTeW5jKFwiZ2l0IHJldi1wYXJzZSAtLWFiYnJldi1yZWYgSEVBRFwiKVxuICAgIC50b1N0cmluZyhcInV0ZjhcIilcbiAgICAucmVwbGFjZSgvW1xcblxcclxcc10rJC8sIFwiXCIpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRHaXRSZXBvTmFtZSA9ICgpOiBzdHJpbmcgPT4ge1xuICAvKipcbiAgICogV2hlbiBydW5uaW5nIGluIGdpdGh1YiBhY3Rpb25zIHRoaXMgd2lsbCBiZSBwb3B1bGF0ZWQuXG4gICAqL1xuICBpZiAocHJvY2Vzcy5lbnYuR0lUSFVCX1JFUE9TSVRPUlkpIHtcbiAgICByZXR1cm4gcHJvY2Vzcy5lbnYuR0lUSFVCX1JFUE9TSVRPUlk7XG4gIH1cblxuICAvKipcbiAgICogbG9jYWxseSwgd2UgbmVlZCB0byBleHRyYWN0IHRoZSByZXBvIG5hbWUgZnJvbSB0aGUgZ2l0IGNvbmZpZy5cbiAgICovXG4gIGNvbnN0IHJlbW90ZSA9IGV4ZWNTeW5jKFwiZ2l0IGNvbmZpZyAtLWdldCByZW1vdGUub3JpZ2luLnVybFwiKVxuICAgIC50b1N0cmluZyhcInV0ZjhcIilcbiAgICAucmVwbGFjZSgvW1xcblxcclxcc10rJC8sIFwiXCIpXG4gICAgLnRyaW0oKTtcblxuICBjb25zdCBtYXRjaCA9IHJlbW90ZS5tYXRjaCgvWzpcXC9dKFteL10rXFwvW14vXSs/KSg/OlxcLmdpdCk/JC8pO1xuICBjb25zdCByZXBvTmFtZSA9IG1hdGNoID8gbWF0Y2hbMV0gOiBcImVycm9yLXJlcG8tbmFtZVwiO1xuXG4gIHJldHVybiByZXBvTmFtZTtcbn07XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* @param inString string to hash
|
|
4
|
-
* @param trimLength trim to this length (defaults to 999 chars)
|
|
5
|
-
* @returns
|
|
6
|
-
*/
|
|
7
|
-
export declare const hashString: (inString: string, trimLength?: number) => string;
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @param inputString string to truncate
|
|
11
|
-
* @param maxLength max length of this string
|
|
12
|
-
* @returns trimmed string
|
|
13
|
-
*/
|
|
14
|
-
export declare const trimStringLength: (inputString: string, maxLength: number) => string;
|
package/lib/lib/string-utils.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.trimStringLength = exports.hashString = void 0;
|
|
37
|
-
const crypto = __importStar(require("node:crypto"));
|
|
38
|
-
/**
|
|
39
|
-
*
|
|
40
|
-
* @param inString string to hash
|
|
41
|
-
* @param trimLength trim to this length (defaults to 999 chars)
|
|
42
|
-
* @returns
|
|
43
|
-
*/
|
|
44
|
-
const hashString = (inString, trimLength = 999) => {
|
|
45
|
-
return crypto
|
|
46
|
-
.createHash("sha256")
|
|
47
|
-
.update(inString)
|
|
48
|
-
.digest("hex")
|
|
49
|
-
.substring(0, trimLength);
|
|
50
|
-
};
|
|
51
|
-
exports.hashString = hashString;
|
|
52
|
-
/**
|
|
53
|
-
*
|
|
54
|
-
* @param inputString string to truncate
|
|
55
|
-
* @param maxLength max length of this string
|
|
56
|
-
* @returns trimmed string
|
|
57
|
-
*/
|
|
58
|
-
const trimStringLength = (inputString, maxLength) => {
|
|
59
|
-
return inputString.length < maxLength
|
|
60
|
-
? inputString
|
|
61
|
-
: inputString.substring(0, maxLength);
|
|
62
|
-
};
|
|
63
|
-
exports.trimStringLength = trimStringLength;
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9zdHJpbmctdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQXNDO0FBRXRDOzs7OztHQUtHO0FBQ0ksTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFnQixFQUFFLGFBQXFCLEdBQUcsRUFBRSxFQUFFO0lBQ3ZFLE9BQU8sTUFBTTtTQUNWLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQztTQUNoQixNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ2IsU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFOVyxRQUFBLFVBQVUsY0FNckI7QUFFRjs7Ozs7R0FLRztBQUNJLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxXQUFtQixFQUFFLFNBQWlCLEVBQUUsRUFBRTtJQUN6RSxPQUFPLFdBQVcsQ0FBQyxNQUFNLEdBQUcsU0FBUztRQUNuQyxDQUFDLENBQUMsV0FBVztRQUNiLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFKVyxRQUFBLGdCQUFnQixvQkFJM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSBcIm5vZGU6Y3J5cHRvXCI7XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBpblN0cmluZyBzdHJpbmcgdG8gaGFzaFxuICogQHBhcmFtIHRyaW1MZW5ndGggdHJpbSB0byB0aGlzIGxlbmd0aCAoZGVmYXVsdHMgdG8gOTk5IGNoYXJzKVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc2hTdHJpbmcgPSAoaW5TdHJpbmc6IHN0cmluZywgdHJpbUxlbmd0aDogbnVtYmVyID0gOTk5KSA9PiB7XG4gIHJldHVybiBjcnlwdG9cbiAgICAuY3JlYXRlSGFzaChcInNoYTI1NlwiKVxuICAgIC51cGRhdGUoaW5TdHJpbmcpXG4gICAgLmRpZ2VzdChcImhleFwiKVxuICAgIC5zdWJzdHJpbmcoMCwgdHJpbUxlbmd0aCk7XG59O1xuXG4vKipcbiAqXG4gKiBAcGFyYW0gaW5wdXRTdHJpbmcgc3RyaW5nIHRvIHRydW5jYXRlXG4gKiBAcGFyYW0gbWF4TGVuZ3RoIG1heCBsZW5ndGggb2YgdGhpcyBzdHJpbmdcbiAqIEByZXR1cm5zIHRyaW1tZWQgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCB0cmltU3RyaW5nTGVuZ3RoID0gKGlucHV0U3RyaW5nOiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBpbnB1dFN0cmluZy5sZW5ndGggPCBtYXhMZW5ndGhcbiAgICA/IGlucHV0U3RyaW5nXG4gICAgOiBpbnB1dFN0cmluZy5zdWJzdHJpbmcoMCwgbWF4TGVuZ3RoKTtcbn07XG4iXX0=
|