envilder 0.2.3 → 0.3.1

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/.gitattributes CHANGED
@@ -1,67 +1,67 @@
1
- ###############################################################################
2
- # Set default behavior to automatically normalize line endings.
3
- ###############################################################################
4
- * text=auto
5
-
6
- # Explicitly declare text files you want to always be normalized and converted
7
- # to native line endings on checkout.
8
- *.sh text eol=lf
9
-
10
- ###############################################################################
11
- # Set default behavior for command prompt diff.
12
- #
13
- # This is need for earlier builds of msysgit that does not have it on by
14
- # default for csharp files.
15
- # Note: This is only used by command line
16
- ###############################################################################
17
- #*.cs diff=csharp
18
-
19
- ###############################################################################
20
- # Set the merge driver for project and solution files
21
- #
22
- # Merging from the command prompt will add diff markers to the files if there
23
- # are conflicts (Merging from VS is not affected by the settings below, in VS
24
- # the diff markers are never inserted). Diff markers may cause the following
25
- # file extensions to fail to load in VS. An alternative would be to treat
26
- # these files as binary and thus will always conflict and require user
27
- # intervention with every merge. To do so, just uncomment the entries below
28
- ###############################################################################
29
- #*.sln merge=binary
30
- #*.csproj merge=binary
31
- #*.vbproj merge=binary
32
- #*.vcxproj merge=binary
33
- #*.vcproj merge=binary
34
- #*.dbproj merge=binary
35
- #*.fsproj merge=binary
36
- #*.lsproj merge=binary
37
- #*.wixproj merge=binary
38
- #*.modelproj merge=binary
39
- #*.sqlproj merge=binary
40
- #*.wwaproj merge=binary
41
-
42
- ###############################################################################
43
- # behavior for image files
44
- #
45
- # image files are treated as binary by default.
46
- ###############################################################################
47
- #*.jpg binary
48
- #*.png binary
49
- #*.gif binary
50
-
51
- ###############################################################################
52
- # diff behavior for common document formats
53
- #
54
- # Convert binary document formats to text before diffing them. This feature
55
- # is only available from the command line. Turn it on by uncommenting the
56
- # entries below.
57
- ###############################################################################
58
- #*.doc diff=astextplain
59
- #*.DOC diff=astextplain
60
- #*.docx diff=astextplain
61
- #*.DOCX diff=astextplain
62
- #*.dot diff=astextplain
63
- #*.DOT diff=astextplain
64
- #*.pdf diff=astextplain
65
- #*.PDF diff=astextplain
66
- #*.rtf diff=astextplain
1
+ ###############################################################################
2
+ # Set default behavior to automatically normalize line endings.
3
+ ###############################################################################
4
+ * text=auto
5
+
6
+ # Explicitly declare text files you want to always be normalized and converted
7
+ # to native line endings on checkout.
8
+ *.sh text eol=lf
9
+
10
+ ###############################################################################
11
+ # Set default behavior for command prompt diff.
12
+ #
13
+ # This is need for earlier builds of msysgit that does not have it on by
14
+ # default for csharp files.
15
+ # Note: This is only used by command line
16
+ ###############################################################################
17
+ #*.cs diff=csharp
18
+
19
+ ###############################################################################
20
+ # Set the merge driver for project and solution files
21
+ #
22
+ # Merging from the command prompt will add diff markers to the files if there
23
+ # are conflicts (Merging from VS is not affected by the settings below, in VS
24
+ # the diff markers are never inserted). Diff markers may cause the following
25
+ # file extensions to fail to load in VS. An alternative would be to treat
26
+ # these files as binary and thus will always conflict and require user
27
+ # intervention with every merge. To do so, just uncomment the entries below
28
+ ###############################################################################
29
+ #*.sln merge=binary
30
+ #*.csproj merge=binary
31
+ #*.vbproj merge=binary
32
+ #*.vcxproj merge=binary
33
+ #*.vcproj merge=binary
34
+ #*.dbproj merge=binary
35
+ #*.fsproj merge=binary
36
+ #*.lsproj merge=binary
37
+ #*.wixproj merge=binary
38
+ #*.modelproj merge=binary
39
+ #*.sqlproj merge=binary
40
+ #*.wwaproj merge=binary
41
+
42
+ ###############################################################################
43
+ # behavior for image files
44
+ #
45
+ # image files are treated as binary by default.
46
+ ###############################################################################
47
+ #*.jpg binary
48
+ #*.png binary
49
+ #*.gif binary
50
+
51
+ ###############################################################################
52
+ # diff behavior for common document formats
53
+ #
54
+ # Convert binary document formats to text before diffing them. This feature
55
+ # is only available from the command line. Turn it on by uncommenting the
56
+ # entries below.
57
+ ###############################################################################
58
+ #*.doc diff=astextplain
59
+ #*.DOC diff=astextplain
60
+ #*.docx diff=astextplain
61
+ #*.DOCX diff=astextplain
62
+ #*.dot diff=astextplain
63
+ #*.DOT diff=astextplain
64
+ #*.pdf diff=astextplain
65
+ #*.PDF diff=astextplain
66
+ #*.rtf diff=astextplain
67
67
  #*.RTF diff=astextplain
package/.gitconfig CHANGED
@@ -1,2 +1,2 @@
1
- [core]
2
- longpaths = true
1
+ [core]
2
+ longpaths = true
@@ -1,40 +1,40 @@
1
- # To get started with Dependabot version updates, you'll need to specify which
2
- # package ecosystems to update and where the package manifests are located.
3
- # Please see the documentation for all configuration options:
4
- # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
-
6
- version: 2
7
- updates:
8
- - package-ecosystem: npm
9
- directory: "/"
10
- pull-request-branch-name:
11
- separator: "/"
12
- schedule:
13
- interval: monthly
14
- day: monday
15
- time: "10:00"
16
- timezone: Europe/Madrid
17
- labels:
18
- - "npm"
19
- - "dependencies"
20
- reviewers:
21
- - macalbert
22
- assignees:
23
- - macalbert
24
-
25
- - package-ecosystem: github-actions
26
- directory: "/"
27
- pull-request-branch-name:
28
- separator: "/"
29
- schedule:
30
- interval: monthly
31
- day: monday
32
- time: "10:00"
33
- timezone: Europe/Madrid
34
- labels:
35
- - "github-actions"
36
- - "dependencies"
37
- reviewers:
38
- - macalbert
39
- assignees:
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: npm
9
+ directory: "/"
10
+ pull-request-branch-name:
11
+ separator: "/"
12
+ schedule:
13
+ interval: monthly
14
+ day: monday
15
+ time: "10:00"
16
+ timezone: Europe/Madrid
17
+ labels:
18
+ - "npm"
19
+ - "dependencies"
20
+ reviewers:
21
+ - macalbert
22
+ assignees:
23
+ - macalbert
24
+
25
+ - package-ecosystem: github-actions
26
+ directory: "/"
27
+ pull-request-branch-name:
28
+ separator: "/"
29
+ schedule:
30
+ interval: monthly
31
+ day: monday
32
+ time: "10:00"
33
+ timezone: Europe/Madrid
34
+ labels:
35
+ - "github-actions"
36
+ - "dependencies"
37
+ reviewers:
38
+ - macalbert
39
+ assignees:
40
40
  - macalbert
@@ -1,20 +1,20 @@
1
- # Description
2
-
3
- _Describe the problem or feature in addition to a link to the issues._
4
-
5
- ## Approach
6
-
7
- _How does this change address the problem?_
8
-
9
- ## Open Questions and Pre-Merge TODOs
10
-
11
- - [ ] Use github checklists. When solved, check the box and explain the answer.
12
-
13
- ## Learning
14
-
15
- _Describe the research stage_
16
- _Links to blog posts, patterns, libraries or addons used to solve this problem_
17
-
18
- ## Blog Posts
19
-
20
- - [How to Pull Request](https://github.com/flexyford/pull-request) Github Repo with Learning focused Pull Request Template.
1
+ # Description
2
+
3
+ _Describe the problem or feature in addition to a link to the issues._
4
+
5
+ ## Approach
6
+
7
+ _How does this change address the problem?_
8
+
9
+ ## Open Questions and Pre-Merge TODOs
10
+
11
+ - [ ] Use github checklists. When solved, check the box and explain the answer.
12
+
13
+ ## Learning
14
+
15
+ _Describe the research stage_
16
+ _Links to blog posts, patterns, libraries or addons used to solve this problem_
17
+
18
+ ## Blog Posts
19
+
20
+ - [How to Pull Request](https://github.com/flexyford/pull-request) Github Repo with Learning focused Pull Request Template.
@@ -1,49 +1,49 @@
1
- name: CodeQL
2
-
3
- on:
4
- workflow_dispatch:
5
-
6
- pull_request:
7
- branches: [main]
8
- paths:
9
- - ".github/workflows/codeql-analysis.yml"
10
-
11
- push:
12
- branches: [main]
13
- paths:
14
- - ".github/workflows/codeql-analysis.yml"
15
- - "src/**"
16
- - "test/**"
17
-
18
- concurrency:
19
- group: ${{ github.workflow }}-${{ github.head_ref || github.sha }}
20
- cancel-in-progress: true
21
-
22
- jobs:
23
- analyze:
24
- strategy:
25
- fail-fast: false
26
- matrix:
27
- language: ["javascript"]
28
-
29
- permissions:
30
- security-events: write
31
-
32
- runs-on: ubuntu-22.04
33
-
34
- steps:
35
- - name: Checkout Repository
36
- uses: actions/checkout@v4
37
- with:
38
- lfs: true
39
-
40
- - name: Initialize CodeQL
41
- uses: github/codeql-action/init@v3
42
- with:
43
- languages: ${{ matrix.language }}
44
-
45
- - name: Autobuild
46
- uses: github/codeql-action/autobuild@v3
47
-
48
- - name: Perform CodeQL Analysis
49
- uses: github/codeql-action/analyze@v3
1
+ name: CodeQL
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ pull_request:
7
+ branches: [main]
8
+ paths:
9
+ - ".github/workflows/codeql-analysis.yml"
10
+
11
+ push:
12
+ branches: [main]
13
+ paths:
14
+ - ".github/workflows/codeql-analysis.yml"
15
+ - "src/**"
16
+ - "test/**"
17
+
18
+ concurrency:
19
+ group: ${{ github.workflow }}-${{ github.head_ref || github.sha }}
20
+ cancel-in-progress: true
21
+
22
+ jobs:
23
+ analyze:
24
+ strategy:
25
+ fail-fast: false
26
+ matrix:
27
+ language: ["javascript"]
28
+
29
+ permissions:
30
+ security-events: write
31
+
32
+ runs-on: ubuntu-22.04
33
+
34
+ steps:
35
+ - name: Checkout Repository
36
+ uses: actions/checkout@v4
37
+ with:
38
+ lfs: true
39
+
40
+ - name: Initialize CodeQL
41
+ uses: github/codeql-action/init@v3
42
+ with:
43
+ languages: ${{ matrix.language }}
44
+
45
+ - name: Autobuild
46
+ uses: github/codeql-action/autobuild@v3
47
+
48
+ - name: Perform CodeQL Analysis
49
+ uses: github/codeql-action/analyze@v3
@@ -1,73 +1,73 @@
1
- name: 🔦 code-coverage
2
-
3
- on:
4
- workflow_dispatch:
5
-
6
- pull_request:
7
- paths:
8
- - ".github/workflows/coverage-report.yml"
9
-
10
- push:
11
- branches:
12
- - "main"
13
- paths:
14
- - ".github/workflows/coverage-report.yml"
15
- - "src/**"
16
- - "test/**"
17
-
18
- concurrency:
19
- group: "pages"
20
- cancel-in-progress: false
21
-
22
- permissions:
23
- contents: read
24
- pages: write
25
- id-token: write
26
-
27
- jobs:
28
- build-coverage:
29
- environment:
30
- name: github-pages
31
- url: ${{ steps.deployment.outputs.page_url }}
32
- runs-on: ubuntu-latest
33
- if: ${{ !github.event.pull_request.draft }}
34
- steps:
35
- - name: Check if PR is created by Dependabot
36
- id: dependabot-check
37
- run: |
38
- if [[ "${{ github.actor }}" == *dependabot* ]]; then
39
- echo "is_dependabot=true" >> "$GITHUB_OUTPUT"
40
- else
41
- echo "is_dependabot=false" >> "$GITHUB_OUTPUT"
42
- fi
43
-
44
- - name: Check if the workflow should run
45
- if: ${{ steps.dependabot-check.outputs.is_dependabot == 'false' }}
46
- run: echo "The workflow is allowed to run for this PR"
47
-
48
- - name: 🧲 Checkout
49
- uses: actions/checkout@v4
50
-
51
- - name: 🛠️ Setup Node.js with Cache
52
- uses: actions/setup-node@v4
53
- with:
54
- node-version: "20.x"
55
- cache: "yarn"
56
-
57
- - name: 📦 Install dependencies
58
- run: yarn install
59
-
60
- - name: 🔥 Run tests and collect coverage
61
- run: yarn test
62
-
63
- - name: Setup Pages
64
- uses: actions/configure-pages@v5
65
-
66
- - name: Upload artifact
67
- uses: actions/upload-pages-artifact@v3
68
- with:
69
- path: "./coverage"
70
-
71
- - name: Deploy to GitHub Pages
72
- id: deployment
73
- uses: actions/deploy-pages@v4
1
+ name: 🔦 code-coverage
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ pull_request:
7
+ paths:
8
+ - ".github/workflows/coverage-report.yml"
9
+
10
+ push:
11
+ branches:
12
+ - "main"
13
+ paths:
14
+ - ".github/workflows/coverage-report.yml"
15
+ - "src/**"
16
+ - "test/**"
17
+
18
+ concurrency:
19
+ group: "pages"
20
+ cancel-in-progress: false
21
+
22
+ permissions:
23
+ contents: read
24
+ pages: write
25
+ id-token: write
26
+
27
+ jobs:
28
+ build-coverage:
29
+ environment:
30
+ name: github-pages
31
+ url: ${{ steps.deployment.outputs.page_url }}
32
+ runs-on: ubuntu-latest
33
+ if: ${{ !github.event.pull_request.draft }}
34
+ steps:
35
+ - name: Check if PR is created by Dependabot
36
+ id: dependabot-check
37
+ run: |
38
+ if [[ "${{ github.actor }}" == *dependabot* ]]; then
39
+ echo "is_dependabot=true" >> "$GITHUB_OUTPUT"
40
+ else
41
+ echo "is_dependabot=false" >> "$GITHUB_OUTPUT"
42
+ fi
43
+
44
+ - name: Check if the workflow should run
45
+ if: ${{ steps.dependabot-check.outputs.is_dependabot == 'false' }}
46
+ run: echo "The workflow is allowed to run for this PR"
47
+
48
+ - name: 🧲 Checkout
49
+ uses: actions/checkout@v4
50
+
51
+ - name: 🛠️ Setup Node.js with Cache
52
+ uses: actions/setup-node@v4
53
+ with:
54
+ node-version: "20.x"
55
+ cache: "yarn"
56
+
57
+ - name: 📦 Install dependencies
58
+ run: yarn install
59
+
60
+ - name: 🔥 Run tests and collect coverage
61
+ run: yarn test
62
+
63
+ - name: Setup Pages
64
+ uses: actions/configure-pages@v5
65
+
66
+ - name: Upload artifact
67
+ uses: actions/upload-pages-artifact@v3
68
+ with:
69
+ path: "./coverage"
70
+
71
+ - name: Deploy to GitHub Pages
72
+ id: deployment
73
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,78 @@
1
+ name: Publish to npm
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ paths:
8
+ - 'src/**'
9
+ - 'package.json'
10
+ - '.github/workflows/publish.yml'
11
+
12
+ jobs:
13
+ publish:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout repository
17
+ uses: actions/checkout@v3
18
+ with:
19
+ fetch-depth: 0
20
+
21
+ - name: Setup Node.js
22
+ uses: actions/setup-node@v3
23
+ with:
24
+ node-version: '20'
25
+ registry-url: 'https://registry.npmjs.org'
26
+ cache: 'yarn'
27
+
28
+ - name: Install dependencies
29
+ run: yarn install --frozen-lockfile
30
+
31
+ - name: Lint
32
+ run: yarn lint
33
+
34
+ - name: Security Check
35
+ run: |
36
+ npm install -g @secretlint/secretlint-rule-preset-recommend secretlint
37
+ secretlint "**/*" --secretlintrc .secretlintrc.json
38
+
39
+ - name: Run tests
40
+ run: yarn test
41
+
42
+ - name: Detect version bump
43
+ id: version-check
44
+ run: |
45
+ CURRENT_VERSION=$(node -p "require('./package.json').version")
46
+ LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
47
+ LAST_TAG_VERSION=${LAST_TAG#v}
48
+
49
+ echo "Current version: $CURRENT_VERSION, Last tag version: $LAST_TAG_VERSION"
50
+
51
+ # Check if the current version is greater than the last tagged version
52
+ if [ "$CURRENT_VERSION" != "$LAST_TAG_VERSION" ]; then
53
+ echo "Version has been bumped from $LAST_TAG_VERSION to $CURRENT_VERSION"
54
+ echo "version_changed=true" >> $GITHUB_OUTPUT
55
+ echo "current_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
56
+ else
57
+ echo "Version not changed. Will not publish."
58
+ echo "version_changed=false" >> $GITHUB_OUTPUT
59
+ fi
60
+
61
+ - name: Build package
62
+ if: steps.version-check.outputs.version_changed == 'true'
63
+ run: yarn build
64
+
65
+ - name: Publish to npm
66
+ if: steps.version-check.outputs.version_changed == 'true'
67
+ run: yarn publish --non-interactive
68
+ env:
69
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
70
+
71
+ - name: Create GitHub Release
72
+ if: steps.version-check.outputs.version_changed == 'true'
73
+ uses: ncipollo/release-action@v1
74
+ with:
75
+ tag: "v${{ steps.version-check.outputs.current_version }}"
76
+ name: "Release v${{ steps.version-check.outputs.current_version }}"
77
+ generateReleaseNotes: true
78
+ token: ${{ secrets.GITHUB_TOKEN }}