Skip to content

Commit e77884f

Browse files
committed
Merge branch 'develop' of https://github.com/stdlib-js/stdlib into develop
2 parents e4ac2da + ae05669 commit e77884f

File tree

5,456 files changed

+374755
-41414
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,456 files changed

+374755
-41414
lines changed

.editorconfig

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,6 @@ indent_size = 2
148148
indent_style = space
149149
indent_size = 2
150150

151-
# Set properties for `tslint.json` files:
152-
[tslint.json]
153-
indent_style = space
154-
indent_size = 2
155-
156151
# Set properties for `tsconfig.json` files:
157152
[tsconfig.json]
158153
indent_style = space

etc/eslint/.eslintignore renamed to .eslintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
# Files #
2020
#########
2121
!.*.js
22+
!.*.ts
2223

2324
# Directories #
2425
###############

.github/codeql/codeql_config.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#/
2+
# @license Apache-2.0
3+
#
4+
# Copyright (c) 2023 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+
name: codeql_configuration
20+
21+
# Define paths for which code scanning should be performed:
22+
paths:
23+
- 'lib'
24+
25+
# Define paths for which code scanning should *not* be performed:
26+
paths-ignore:
27+
- '**/_tools'
28+
- '**/test/*.js'
29+
- '**/test/**/*.js'
30+
- '**/benchmark/*.js'
31+
- '**/benchmark/**/*.js'
32+
- '**/examples/*.js'
33+
- '**/examples/**/*.js'
34+
- '**/data'
35+
- '**/scripts'
36+
- '**/etc'
37+
- '**/docs'

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@
1818

1919
version: 2
2020
updates:
21+
- package-ecosystem: github-actions
22+
directory: "/"
23+
schedule:
24+
interval: weekly
25+
ignore:
26+
- dependency-name: "distributhor/workflow-webhook"
27+
2128
- package-ecosystem: npm
2229
directory: "/"
2330
schedule:
@@ -32,6 +39,11 @@ updates:
3239
- dependency-name: "debug"
3340
- dependency-name: "ajv"
3441
- dependency-name: "d3-scale"
42+
- dependency-name: "d3-shape"
43+
- dependency-name: "d3-time-format"
44+
- dependency-name: "d3-format"
3545
- dependency-name: "readable-stream"
3646
- dependency-name: "mkdirp"
3747
- dependency-name: "semver"
48+
- dependency-name: "glob"
49+
- dependency-name: "node-gyp"

.github/workflows/check_licenses.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ name: check_licenses
2222
# Workflow triggers:
2323
on: [pull_request]
2424

25+
# Global permissions:
26+
permissions:
27+
# Allow read-only access to the repository contents:
28+
contents: read
29+
2530
# Workflow jobs:
2631
jobs:
2732

@@ -53,8 +58,8 @@ jobs:
5358

5459
# Checkout the repository:
5560
- name: 'Checkout repository'
56-
# Pin action to full length commit SHA corresponding to v4.1.0
57-
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
61+
# Pin action to full length commit SHA
62+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
5863
with:
5964
# Specify whether to remove untracked files before checking out the repository:
6065
clean: false
@@ -75,8 +80,8 @@ jobs:
7580

7681
# Install Node.js:
7782
- name: 'Install Node.js'
78-
# Pin action to full length commit SHA corresponding to v3.8.1
79-
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d
83+
# Pin action to full length commit SHA
84+
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
8085
with:
8186
node-version: '20' # 'lts/*'
8287
timeout-minutes: 5
@@ -122,8 +127,8 @@ jobs:
122127

123128
# Upload the log file:
124129
- name: 'Upload log file'
125-
# Pin action to full length commit SHA corresponding to v3.1.3
126-
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32
130+
# Pin action to full length commit SHA
131+
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
127132
if: always()
128133
with:
129134
# Define a name for the uploaded artifact:

.github/workflows/check_required_files.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ on:
2525
pull_request_target:
2626
types: [review_requested]
2727

28+
# Global permissions:
29+
permissions:
30+
# Allow read-only access to the repository contents:
31+
contents: read
32+
2833
# Workflow jobs:
2934
jobs:
3035

@@ -42,8 +47,8 @@ jobs:
4247

4348
# Checkout the repository:
4449
- name: 'Checkout repository'
45-
# Pin action to full length commit SHA corresponding to v4.1.0
46-
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
50+
# Pin action to full length commit SHA
51+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
4752
with:
4853
# Specify whether to remove untracked files before checking out the repository:
4954
clean: true
@@ -214,8 +219,8 @@ jobs:
214219
# Create a comment on the pull request informing the user whether the pull request is missing required files:
215220
- name: 'Create a comment on the pull request informing the user whether the pull request is missing required files'
216221
if: steps.check-reviewers.outputs.is_stdlib_bot == 'true'
217-
# Pin action to full length commit SHA corresponding to v3.0.2
218-
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa
222+
# Pin action to full length commit SHA
223+
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
219224
with:
220225
# Specify the issue or pull request number:
221226
issue-number: ${{ github.event.pull_request.number }}

.github/workflows/codeql.yml

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
#/
2+
# @license Apache-2.0
3+
#
4+
# Copyright (c) 2023 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+
name: codeql
20+
21+
# Workflow triggers:
22+
on:
23+
# push:
24+
# branches: [ "develop", "master" ]
25+
# pull_request:
26+
# branches: [ "develop", "master" ]
27+
schedule:
28+
# Run the workflow once a week (Sunday at midnight):
29+
- cron: '0 0 * * 0'
30+
31+
# Allow the workflow to be manually run:
32+
workflow_dispatch:
33+
34+
# Global permissions:
35+
permissions:
36+
# Allow read-only access to the repository contents:
37+
contents: read
38+
39+
# Workflow jobs:
40+
jobs:
41+
42+
# Define a job for performing CodeQL analysis...
43+
analyze:
44+
45+
# Define a display name:
46+
name: 'Analyze'
47+
48+
# Define the type of virtual host machine.
49+
#
50+
# ## Notes
51+
#
52+
# - Runner size impacts CodeQL analysis time. To learn more, please see:
53+
# - https://gh.io/recommended-hardware-resources-for-running-codeql
54+
# - https://gh.io/supported-runners-and-hardware-resources
55+
# - https://gh.io/using-larger-runners
56+
#
57+
# - For analysis time improvements, consider using larger runners.
58+
runs-on: ubuntu-latest
59+
60+
# Limit how long the job can run:
61+
timeout-minutes: 360
62+
63+
# Restrict the type of data which is accessible to this job:
64+
permissions:
65+
actions: read
66+
contents: read
67+
security-events: write
68+
69+
# Define the build matrix strategy...
70+
strategy:
71+
72+
# Specify whether to cancel all in-progress jobs if any matrix job fails:
73+
fail-fast: false
74+
75+
# Define the build matrix:
76+
matrix:
77+
78+
# CodeQL supports the following languages:
79+
#
80+
# [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
81+
#
82+
# Use only 'java-kotlin' to analyze code written in Java, Kotlin, or both.
83+
#
84+
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript, or both.
85+
language: [ 'javascript-typescript' ]
86+
87+
# Define the sequence of job steps:
88+
steps:
89+
90+
# Checkout the repository:
91+
- name: 'Checkout repository'
92+
# Pin action to full length commit SHA
93+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
94+
with:
95+
# Specify whether to remove untracked files before checking out the repository:
96+
clean: false
97+
98+
# Limit clone depth to the most recent 100 commits:
99+
fetch-depth: 100
100+
101+
# Specify whether to download Git-LFS files:
102+
lfs: false
103+
timeout-minutes: 10
104+
105+
# Install compilers:
106+
- name: 'Install compilers'
107+
run: |
108+
sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
109+
sudo -E apt-get update -q
110+
sudo -E apt-get -yq --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages install binutils gcc-9 gcc-9-multilib g++-9 g++-9-multilib gfortran-9 gfortran-9-multilib
111+
mkdir -p $HOME/bin
112+
echo "$HOME/bin" >> $GITHUB_PATH
113+
ln -s /usr/bin/gcc-9 $HOME/bin/gcc
114+
ln -s /usr/bin/g++-9 $HOME/bin/g++
115+
ln -s /usr/bin/gfortran-9 $HOME/bin/gfortran
116+
timeout-minutes: 10
117+
118+
# Install Node.js:
119+
- name: 'Install Node.js'
120+
# Pin action to full length commit SHA
121+
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
122+
with:
123+
node-version: '20' # 'lts/*'
124+
timeout-minutes: 5
125+
126+
# Print debug info:
127+
- name: 'Print debug info'
128+
run: |
129+
echo 'PATH:'
130+
echo $PATH
131+
echo ''
132+
echo 'gcc:'
133+
gcc --version
134+
echo ''
135+
echo 'g++:'
136+
g++ --version
137+
echo ''
138+
echo 'gfortran:'
139+
gfortran --version
140+
echo ''
141+
echo 'Git:'
142+
git --version
143+
echo ''
144+
echo 'Node.js:'
145+
file $(which node)
146+
node --version
147+
node -p 'process.platform + "@" + process.arch'
148+
echo ''
149+
echo 'npm:'
150+
npm --version
151+
npm config get registry
152+
timeout-minutes: 2
153+
154+
# Install dependencies (accounting for possible network failures, etc, when installing node module dependencies):
155+
- name: 'Install dependencies'
156+
run: |
157+
make install-node-modules || make install-node-modules || make install-node-modules
158+
timeout-minutes: 15
159+
160+
# Build native add-ons:
161+
# - name: 'Build native add-ons'
162+
# run: |
163+
# make install-node-addons
164+
165+
# Initialize CodeQL tools for scanning:
166+
- name: 'Initialize CodeQL'
167+
168+
# Pin action to full length commit SHA
169+
uses: github/codeql-action/init@382a50a0284c0de445104889a9d6003acb4b3c1d # v2.15.4
170+
171+
with:
172+
languages: ${{ matrix.language }}
173+
174+
# Specify a path to a custom CodeQL configuration file:
175+
config-file: './.github/codeql/codeql_config.yml'
176+
177+
# Perform CodeQL analysis:
178+
- name: 'Perform CodeQL Analysis'
179+
180+
# Pin action to full length commit SHA
181+
uses: github/codeql-action/analyze@382a50a0284c0de445104889a9d6003acb4b3c1d # v2.15.4
182+
with:
183+
category: "/language:${{matrix.language}}"

.github/workflows/deprecate_packages.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ on:
3030
message:
3131
description: 'Custom deprecation message:'
3232

33+
# Global permissions:
34+
permissions:
35+
# Allow read-only access to the repository contents:
36+
contents: read
37+
3338
# Workflow concurrency group:
3439
concurrency:
3540

.github/workflows/discussion_bot_response.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ on:
2424
discussion:
2525
types: [created]
2626

27+
# Global permissions:
28+
permissions:
29+
# Allow read-only access to the repository contents:
30+
contents: read
31+
2732
# Workflow jobs:
2833
jobs:
2934
respond:
@@ -33,8 +38,8 @@ jobs:
3338
# Define a display name:
3439
name: 'Respond to question'
3540

36-
# Define the conditions under which the job should run:
37-
if: github.event.discussion.category.name == 'stdlib-bot Q&A'
41+
# Define the conditions under which the job should run: FIXME: un-comment if and when re-enabled
42+
# if: github.event.discussion.category.name == 'stdlib-bot Q&A'
3843

3944
# Define the type of virtual host machine:
4045
runs-on: ubuntu-latest
@@ -43,7 +48,8 @@ jobs:
4348
steps:
4449
# Run the chatbot action:
4550
- name: 'Run chatbot action'
46-
uses: stdlib-js/stdlib-chat-bot@main
51+
# Pin action to full length commit SHA
52+
uses: stdlib-js/stdlib-chat-bot@6c0643a5a1eb3c782b2df3bfd11e836d2ac7268e # v0.0.1
4753
with:
4854
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
4955
GITHUB_TOKEN: ${{ secrets.CHATBOT_GITHUB_TOKEN }}

0 commit comments

Comments
 (0)