Skip to content

Commit 0d97c83

Browse files
committed
Auto-generated commit
1 parent dc681a3 commit 0d97c83

15 files changed

+409
-88
lines changed

.editorconfig

+1-2
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ indent_style = tab
8686
[*.{f,f.txt}]
8787
indent_style = space
8888
indent_size = 2
89-
insert_final_newline = false
9089

9190
# Set properties for shell files:
9291
[*.{sh,sh.txt}]
@@ -121,7 +120,7 @@ indent_style = tab
121120
[*.{md,md.txt}]
122121
indent_style = space
123122
indent_size = 4
124-
trim_trailing_whitespace = false
123+
trim_trailing_whitespace = true # Note: this disables using two spaces to force a hard line break, which is permitted in Markdown. As we don't typically follow that practice (TMK), we should be safe to automatically trim.
125124
126125
# Set properties for `usage.txt` files:
127126
[usage.txt]

.github/PULL_REQUEST_TEMPLATE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
We are excited about your pull request, but unfortunately we are not accepting pull requests against this repository, as all development happens on the [main project repository](https://github.com/stdlib-js/stdlib). We kindly request that you submit this pull request against the [respective directory](https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/filled) of the main repository where we’ll review and provide feedback.
44

5-
If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/development.md) for help on developing stdlib.
5+
If this is your first stdlib contribution, be sure to read the [contributing guide](https://github.com/stdlib-js/stdlib/blob/develop/CONTRIBUTING.md) which provides guidelines and instructions for submitting contributions. You may also consult the [development guide](https://github.com/stdlib-js/stdlib/blob/develop/docs/contributing/development.md) for help on developing stdlib.
66

77
We look forward to receiving your contribution! :smiley:

.github/workflows/productionize.yml

+10-10
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ jobs:
9494
node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^$PKG_VERSION'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );"
9595
fi
9696
97-
# Configure git:
98-
- name: 'Configure git'
97+
# Configure Git:
98+
- name: 'Configure Git'
9999
run: |
100100
git config --local user.email "[email protected]"
101101
git config --local user.name "stdlib-bot"
@@ -191,8 +191,8 @@ jobs:
191191
# Pin action to full length commit SHA
192192
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
193193

194-
# Configure git:
195-
- name: 'Configure git'
194+
# Configure Git:
195+
- name: 'Configure Git'
196196
run: |
197197
git config --local user.email "[email protected]"
198198
git config --local user.name "stdlib-bot"
@@ -366,8 +366,8 @@ jobs:
366366
# Pin action to full length commit SHA
367367
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
368368

369-
# Configure git:
370-
- name: 'Configure git'
369+
# Configure Git:
370+
- name: 'Configure Git'
371371
run: |
372372
git config --local user.email "[email protected]"
373373
git config --local user.name "stdlib-bot"
@@ -539,8 +539,8 @@ jobs:
539539
# Pin action to full length commit SHA
540540
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
541541

542-
# Configure git:
543-
- name: 'Configure git'
542+
# Configure Git:
543+
- name: 'Configure Git'
544544
run: |
545545
git config --local user.email "[email protected]"
546546
git config --local user.name "stdlib-bot"
@@ -735,8 +735,8 @@ jobs:
735735
echo "bump=true" >> $GITHUB_OUTPUT
736736
fi
737737
738-
# Configure git:
739-
- name: 'Configure git'
738+
# Configure Git:
739+
- name: 'Configure Git'
740740
if: steps.check-if-bump.outputs.bump
741741
run: |
742742
git config --local user.email "[email protected]"

.github/workflows/publish.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ jobs:
7272
node-version: 20
7373
timeout-minutes: 5
7474

75-
# Configure git:
76-
- name: 'Configure git'
75+
# Configure Git:
76+
- name: 'Configure Git'
7777
run: |
7878
git config --local user.email "[email protected]"
7979
git config --local user.name "stdlib-bot"
@@ -206,7 +206,7 @@ jobs:
206206
# Publish package to npm:
207207
- name: 'Publish package to npm'
208208
# Pin action to full length commit SHA
209-
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552 # v3.0.1
209+
uses: JS-DevTools/npm-publish@19c28f1ef146469e409470805ea4279d47c3d35c # v3.1.1
210210
with:
211211
token: ${{ secrets.NPM_TOKEN }}
212212
access: public

.github/workflows/test_install.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ jobs:
5050
env:
5151
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
5252

53-
# Run workflow job if `publish` workflow run is successful or when the workflow is manually run:
54-
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
53+
# Run workflow job if `publish` workflow run is successful or when the workflow is manually triggered or on a schedule:
54+
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' }}
5555

5656
# Define the sequence of job steps...
5757
steps:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
#/
2+
# @license Apache-2.0
3+
#
4+
# Copyright (c) 2024 The Stdlib Authors.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#/
18+
19+
# Workflow name:
20+
name: test_published_package
21+
22+
# Workflow triggers:
23+
on:
24+
# Run workflow on a weekly schedule:
25+
schedule:
26+
# * is a special character in YAML so you have to quote this string
27+
- cron: '45 21 * * 4'
28+
29+
# Run workflow upon completion of `publish` workflow run:
30+
workflow_run:
31+
workflows: ["publish"]
32+
types: [completed]
33+
34+
# Allow workflow to be manually run:
35+
workflow_dispatch:
36+
37+
# Workflow jobs:
38+
jobs:
39+
test-published:
40+
# Define a display name:
41+
name: 'Test running examples of published package'
42+
43+
# Define the type of virtual host machine:
44+
runs-on: ubuntu-latest
45+
46+
# Define environment variables:
47+
env:
48+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
49+
50+
# Run workflow job if `publish` workflow run is successful or when the workflow is manually triggered or on a schedule:
51+
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' }}
52+
53+
# Define the job's steps:
54+
steps:
55+
# Checkout the repository:
56+
- name: 'Checkout repository'
57+
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
58+
59+
# Install Node.js:
60+
- name: 'Install Node.js'
61+
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
62+
with:
63+
node-version: 20
64+
timeout-minutes: 5
65+
66+
# Create test directory and run examples:
67+
- name: 'Create test directory and run examples'
68+
run: |
69+
cd ..
70+
mkdir test-published
71+
cd test-published
72+
73+
# Copy example file:
74+
cp $GITHUB_WORKSPACE/examples/index.js .
75+
76+
# Create a minimal package.json
77+
echo '{
78+
"name": "test-published",
79+
"version": "1.0.0",
80+
"main": "index.js",
81+
"dependencies": {}
82+
}' > package.json
83+
84+
# Get package name and modify example file:
85+
PACKAGE_NAME=$(jq -r '.name' $GITHUB_WORKSPACE/package.json)
86+
ESCAPED_PACKAGE_NAME=$(echo "$PACKAGE_NAME" | sed 's/[\/&]/\\&/g')
87+
88+
sed -i "s/require( '.\/..\/lib' )/require( '$ESCAPED_PACKAGE_NAME' )/g" index.js
89+
90+
# Extract and install dependencies:
91+
DEPS=$(grep -oP "require\(\s*'([^']+)'\s*\)" index.js | sed "s/require(\s*'//" | sed "s/'\s*)//" | grep -v "^\.")
92+
for dep in $DEPS; do
93+
npm install $dep --save
94+
done
95+
96+
# Run the example:
97+
node index.js
98+
99+
# Send Slack notification if job fails:
100+
- name: 'Send notification to Slack in case of failure'
101+
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
102+
with:
103+
status: ${{ job.status }}
104+
channel: '#npm-ci'
105+
if: failure()

.gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ docs/**/node_modules/
101101
pids
102102
*.pid
103103
*.seed
104+
yarn.lock
105+
package-lock.json
104106

105107
# Typescript #
106108
##############
@@ -186,3 +188,7 @@ jsconfig.json
186188
# Other editor files #
187189
######################
188190
.idea/
191+
192+
# Cursor #
193+
##########
194+
.cursorignore

.npmrc

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ shrinkwrap = false
2727
# Disable automatically "saving" dependencies on install:
2828
save = false
2929

30-
# Generate provenance metadata:
31-
provenance = true
30+
# Do not generate provenance metadata:
31+
provenance = false

0 commit comments

Comments
 (0)