Skip to content

Commit

Permalink
Auto-generated commit
Browse files Browse the repository at this point in the history
  • Loading branch information
stdlib-bot committed Jul 24, 2023
1 parent 0e7c63a commit cb415a4
Show file tree
Hide file tree
Showing 10 changed files with 195 additions and 46 deletions.
1 change: 0 additions & 1 deletion .github/.keepalive

This file was deleted.

11 changes: 9 additions & 2 deletions .github/workflows/productionize.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ on:
type: boolean
default: true

# Run workflow upon completion of `publish` workflow run:
workflow_run:
workflows: ["publish"]
types: [completed]


# Concurrency group to prevent multiple concurrent executions:
concurrency:
group: productionize
Expand Down Expand Up @@ -94,10 +100,11 @@ jobs:
# Change `@stdlib/string-format` to `@stdlib/error-tools-fmtprodmsg` in package.json if the former is a dependency, otherwise insert it as a dependency:
- name: 'Update dependencies in package.json'
run: |
PKG_VERSION=$(npm view @stdlib/error-tools-fmtprodmsg version)
if grep -q '"@stdlib/string-format"' package.json; then
sed -i "s/\"@stdlib\/string-format\"/\"@stdlib\/error-tools-fmtprodmsg\"/g" package.json
sed -i "s/\"@stdlib\/string-format\": \"^.*\"/\"@stdlib\/error-tools-fmtprodmsg\": \"^$PKG_VERSION\"/g" package.json
else
node -e "var pkg = require( './package.json' ); pkg.dependencies[ '@stdlib/error-tools-fmtprodmsg' ] = '^0.0.x'; require( 'fs' ).writeFileSync( 'package.json', JSON.stringify( pkg, null, 2 ) );"
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 ) );"
fi
# Configure git:
Expand Down
137 changes: 131 additions & 6 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,23 @@ name: publish

# Workflow triggers:
on:
# Run workflow when a new tag is pushed to the repository:
push:
tags: v[0-9]+.[0-9]+.[0-9]+
# Allow the workflow to be manually run:
workflow_dispatch:
# Workflow inputs:
inputs:
version:
description: 'Version Increment'
type: choice
default: 'none'
options:
- 'none'
- 'major'
- 'minor'
- 'patch'
- 'premajor'
- 'preminor'
- 'prepatch'
- 'prerelease'

# Workflow jobs:
jobs:
Expand All @@ -32,14 +46,15 @@ jobs:
publish:

# Define display name:
name: 'Publish to npm'
name: 'Publish package to npm'

# Define the type of virtual host machine on which to run the job:
runs-on: ubuntu-latest

# Define environment variables:
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

# Define the sequence of job steps...
steps:
Expand All @@ -55,6 +70,91 @@ jobs:
node-version: 16
timeout-minutes: 5

# Configure git:
- name: 'Configure git'
run: |
git config --local user.email "[email protected]"
git config --local user.name "stdlib-bot"
# Increment package version (if requested):
- name: 'Increment package version (if requested)'
if: ${{ github.event.inputs.version != 'none' }}
run: |
# Save NPM_TOKEN to user's .npmrc:
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
# Increment package version:
npm version ${{ github.event.inputs.version }} --no-git-tag-version
# Define variable for new version:
NEW_VERSION=$(node -p "require('./package.json').version")
# Replace branch in README.md link definitions for badges with the new version:
find . -type f -name '*.md' -print0 | xargs -0 sed -Ei "s/branch([=:])[^ ]+/branch\1v${NEW_VERSION}/g"
# Create a new commit and tag:
git add package.json README.md
git commit -m "Release v${NEW_VERSION}"
git tag -a "v${NEW_VERSION}" -m "Release v${NEW_VERSION}"
# Push changes to GitHub:
SLUG=${{ github.repository }}
git push "https://$GITHUB_ACTOR:[email protected]/$SLUG.git" --follow-tags
# Remove CLI:
- name: 'Remove CLI'
if: ${{ github.ref == 'refs/heads/main' }}
run: |
# Exit if the package does not have a CLI:
if ! grep -q '"bin":' package.json; then
exit 0
fi
rm -rf ./bin/cli
rm -f test/test.cli.js
rm -f etc/cli_opts.json
rm -f docs/usage.txt
# For all dependencies, check in all *.js files if they are still used; if not, remove them:
jq -r '.dependencies | keys[]' ./package.json | while read -r dep; do
dep=$(echo "$dep" | xargs)
if ! grep -q "$dep" lib/** && ! grep -q -s "$dep" manifest.json && ! grep -q -s "$dep" include.gypi; then
jq --indent 2 "del(.dependencies[\"$dep\"])" ./package.json > ./package.json.tmp
mv ./package.json.tmp ./package.json
fi
done
jq -r '.devDependencies | keys[]' ./package.json | while read -r dep; do
if [[ "$dep" != "@stdlib"* ]]; then
continue
fi
dep=$(echo "$dep" | xargs)
if ! grep -q "$dep" lib/** && ! grep -q -s "$dep" manifest.json && ! grep -q -s "$dep" include.gypi; then
jq --indent 2 "del(.devDependencies[\"$dep\"])" ./package.json > ./package.json.tmp
mv ./package.json.tmp ./package.json
fi
done
# Remove CLI section:
find . -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/(\* \* \*\n+)?<section class=\"cli\">[\s\S]+?<\!\-\- \/.cli \-\->//"
# Remove CLI from package.json:
jq -r 'del(.bin)' package.json > package.json.tmp
mv package.json.tmp package.json
# Add entry for CLI package to See Also section of README.md:
cliPkgName=$(jq -r '.name' package.json)-cli
escapedPkg=$(echo "$cliPkgName" | sed -e 's/\//\\\//g')
escapedPkg=$(echo "$escapedPkg" | sed -e 's/\@/\\\@/g')
find . -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/<section class=\"related\">(?:\n\n\* \* \*\n\n## See Also\n\n)?/<section class=\"related\">\n\n## See Also\n\n- <span class=\"package-name\">[\`$escapedPkg\`][$escapedPkg]<\/span><span class=\"delimiter\">: <\/span><span class=\"description\">CLI package for use as a command-line utility.<\/span>\n/"
# Add link definition for CLI package to README.md:
find . -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/<section class=\"links\">/<section class=\"links\">\n\n[$escapedPkg]: https:\/\/www.npmjs.com\/package\/$escapedPkg/"
# Replace GitHub MathJax equations with SVGs:
- name: 'Replace GitHub MathJax equations with SVGs'
run: |
find . -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe 's/```math\n([\s\S]+?)\n```\n\n//g'
find . -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe 's/<!-- <div class="equation"(.*)(<\/div>\s*-->)/<div class="equation"$1<\/div>/sg'
# Replace GitHub links to individual packages with npm links:
- name: 'Replace all GitHub links to individual packages with npm links'
run: |
Expand All @@ -65,14 +165,39 @@ jobs:
run: |
find . -type f -name '*.md' -print0 | xargs -0 perl -0777 -i -pe "s/\`\`\`\n\nAlternatively,[^<]+<\/section>/\`\`\`\n\n<\/section>/"
# Remove unnecessary files:
- name: 'Remove unnecessary files'
run: |
rm -f docs/repl.txt
rm -f docs/types/test.ts
# Replace all stdlib GitHub dependencies with the respective npm packages:
- name: 'Replace all stdlib GitHub dependencies with the respective npm packages'
run: |
find package.json -type f -print0 | xargs -0 sed -Ei 's/"github:stdlib-js[^"]*"/"^0.0.x"/g'
for dep in $(jq -r '.dependencies | keys | .[]' package.json); do
if [[ "$dep" != "@stdlib"* ]]; then
continue
fi
# Trim leading and trailing whitespace:
dep=$(echo "$dep" | xargs)
version="^$(npm view $dep version)"
jq -r --arg dep "$dep" --arg version "$version" '.dependencies[$dep] = $version' package.json > package.json.tmp
mv package.json.tmp package.json
done
for dep in $(jq -r '.devDependencies | keys | .[]' package.json); do
if [[ "$dep" != "@stdlib"* ]]; then
continue
fi
# Trim leading and trailing whitespace:
dep=$(echo "$dep" | xargs)
version="^$(npm view $dep version)"
jq -r --arg dep "$dep" --arg version "$version" '.devDependencies[$dep] = $version' package.json > package.json.tmp
mv package.json.tmp package.json
done
# Publish package to npm:
- name: 'Publish package to npm'
uses: JS-DevTools/npm-publish@v1
uses: JS-DevTools/npm-publish@v2
with:
token: ${{ secrets.NPM_TOKEN }}
access: public
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ on:
# Run workflow on each push to the main branch:
push:

# Run workflow upon completion of `publish` workflow run:
workflow_run:
workflows: ["publish"]
types: [completed]

# Workflow jobs:
jobs:

Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -182,3 +182,7 @@ jsconfig.json
################
*.sublime-workspace
*.sublime-project

# Other editor files #
######################
.idea/
19 changes: 14 additions & 5 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,37 @@
# Contributors listed in alphabetical order.

Ali Salesi <[email protected]>
Amit Jimiwal <[email protected]>
Athan Reines <[email protected]>
Brendan Graetz <[email protected]>
Bruno Fenzl <[email protected]>
Christopher Dambamuromo <[email protected]>
Dan Rose <[email protected]>
Dominik Moritz <[email protected]>
Dorrin Sotoudeh <[email protected]>
Frank Kovacs <[email protected]>
James <[email protected]>
Harshita Kalani <[email protected]>
James Gelok <[email protected]>
Jithin KS <[email protected]>
Joey Reed <[email protected]>
Jordan Gallivan <[email protected]>
Joris Labie <[email protected]>
Justin Dennison <[email protected]>
Marcus <[email protected]>
Marcus Fantham <[email protected]>
Matt Cochrane <[email protected]>
Milan Raj <[email protected]>
Momtchil Momtchev <[email protected]>
Naresh Jagadeesan <[email protected]>
Nithin Katta <[email protected]>
Ognjen Jevremović <[email protected]>
Philipp Burckhardt <[email protected]>
Pranav <[email protected]>
Pranav Goswami <[email protected]>
Ricky Reusser <[email protected]>
Roman Stetsyk <[email protected]>
Ryan Seal <[email protected]>
Seyyed Parsa Neshaei <[email protected]>
Shraddheya Shendre <[email protected]>
Stephannie Jiménez Gacha <[email protected]>
dorrin-sot <[email protected]>
rei2hu <[email protected]>
Yernar Yergaziyev <[email protected]>
orimiles5 <[email protected]>
rei2hu <[email protected]>
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ var count = ctx.count;
- If provided a generic `array`, the returned [iterator][mdn-iterator-protocol] does **not** ignore holes. To achieve greater performance for sparse arrays, use a custom [iterator][mdn-iterator-protocol].
- A returned [iterator][mdn-iterator-protocol] does **not** copy a provided array-like `object`. To ensure iterable reproducibility, copy a provided array-like `object` **before** creating an [iterator][mdn-iterator-protocol]. Otherwise, any changes to the contents of an array-like `object` will be reflected in the returned [iterator][mdn-iterator-protocol].
- In environments supporting `Symbol.iterator`, the function **explicitly** does **not** invoke an array's `@@iterator` method, regardless of whether this method is defined. To convert an array to an implementation defined [iterator][mdn-iterator-protocol], invoke this method directly.
- The returned [iterator][mdn-iterator-protocol] supports array-like objects having getter and setter accessors for array element access (e.g., [`@stdlib/array/complex64`][@stdlib/array/complex64]).
- The returned [iterator][mdn-iterator-protocol] supports array-like objects having getter and setter accessors for array element access (e.g., [`@stdlib/array-complex64`][@stdlib/array/complex64]).

</section>

Expand Down Expand Up @@ -243,8 +243,8 @@ while ( true ) {

## See Also

- <span class="package-name">[`@stdlib/array/from-iterator`][@stdlib/array/from-iterator]</span><span class="delimiter">: </span><span class="description">create (or fill) an array from an iterator.</span>
- <span class="package-name">[`@stdlib/array/to-iterator`][@stdlib/array/to-iterator]</span><span class="delimiter">: </span><span class="description">create an iterator from an array-like object.</span>
- <span class="package-name">[`@stdlib/array-from-iterator`][@stdlib/array/from-iterator]</span><span class="delimiter">: </span><span class="description">create (or fill) an array from an iterator.</span>
- <span class="package-name">[`@stdlib/array-to-iterator`][@stdlib/array/to-iterator]</span><span class="delimiter">: </span><span class="description">create an iterator from an array-like object.</span>

</section>

Expand Down Expand Up @@ -303,7 +303,7 @@ Copyright &copy; 2016-2023. The Stdlib [Authors][stdlib-authors].
-->

[chat-image]: https://img.shields.io/gitter/room/stdlib-js/stdlib.svg
[chat-url]: https://gitter.im/stdlib-js/stdlib/
[chat-url]: https://app.gitter.im/#/room/#stdlib-js_stdlib:gitter.im

[stdlib]: https://github.com/stdlib-js/stdlib

Expand Down
12 changes: 6 additions & 6 deletions branches.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ C -->|bundle| D[esm];
C -->|bundle| E[deno];
C -->|bundle| F[umd];
click A href "https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/to-strided-iterator"
click B href "https://github.com/stdlib-js/array-to-strided-iterator/tree/main"
click C href "https://github.com/stdlib-js/array-to-strided-iterator/tree/production"
click D href "https://github.com/stdlib-js/array-to-strided-iterator/tree/esm"
click E href "https://github.com/stdlib-js/array-to-strided-iterator/tree/deno"
click F href "https://github.com/stdlib-js/array-to-strided-iterator/tree/umd"
%% click A href "https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/to-strided-iterator"
%% click B href "https://github.com/stdlib-js/array-to-strided-iterator/tree/main"
%% click C href "https://github.com/stdlib-js/array-to-strided-iterator/tree/production"
%% click D href "https://github.com/stdlib-js/array-to-strided-iterator/tree/esm"
%% click E href "https://github.com/stdlib-js/array-to-strided-iterator/tree/deno"
%% click F href "https://github.com/stdlib-js/array-to-strided-iterator/tree/umd"
```

[stdlib-url]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/array/to-strided-iterator
Expand Down
42 changes: 21 additions & 21 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,27 +37,27 @@
"url": "https://github.com/stdlib-js/stdlib/issues"
},
"dependencies": {
"@stdlib/array-base-accessor-getter": "^0.0.x",
"@stdlib/array-base-assert-is-accessor-array": "^0.0.x",
"@stdlib/array-base-getter": "^0.0.x",
"@stdlib/array-dtype": "^0.0.x",
"@stdlib/assert-is-collection": "^0.0.x",
"@stdlib/assert-is-function": "^0.0.x",
"@stdlib/assert-is-integer": "^0.0.x",
"@stdlib/assert-is-nonnegative-integer": "^0.0.x",
"@stdlib/string-format": "^0.0.x",
"@stdlib/symbol-iterator": "^0.0.x",
"@stdlib/types": "^0.0.x",
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.0.x"
"@stdlib/array-base-accessor-getter": "^0.0.1",
"@stdlib/array-base-assert-is-accessor-array": "^0.0.1",
"@stdlib/array-base-getter": "^0.0.1",
"@stdlib/array-dtype": "^0.0.6",
"@stdlib/assert-is-collection": "^0.0.8",
"@stdlib/assert-is-function": "^0.0.8",
"@stdlib/assert-is-integer": "^0.0.8",
"@stdlib/assert-is-nonnegative-integer": "^0.0.7",
"@stdlib/string-format": "^0.0.3",
"@stdlib/symbol-iterator": "^0.0.7",
"@stdlib/types": "^0.0.14",
"@stdlib/utils-define-nonenumerable-read-only-property": "^0.0.7"
},
"devDependencies": {
"@stdlib/array-float64": "^0.0.x",
"@stdlib/assert-is-iterator-like": "^0.0.x",
"@stdlib/bench": "^0.0.x",
"@stdlib/math-base-assert-is-nan": "^0.0.x",
"@stdlib/random-base-randu": "^0.0.x",
"@stdlib/utils-inmap": "^0.0.x",
"@stdlib/utils-noop": "^0.0.x",
"@stdlib/array-float64": "^0.0.6",
"@stdlib/assert-is-iterator-like": "^0.0.7",
"@stdlib/bench": "^0.0.12",
"@stdlib/math-base-assert-is-nan": "^0.0.8",
"@stdlib/random-base-randu": "^0.0.8",
"@stdlib/utils-inmap": "^0.0.8",
"@stdlib/utils-noop": "^0.0.14",
"proxyquire": "^2.0.0",
"tape": "git+https://github.com/kgryte/tape.git#fix/globby",
"istanbul": "^0.4.1",
Expand Down Expand Up @@ -103,7 +103,7 @@
"multidimensional"
],
"funding": {
"type": "patreon",
"url": "https://www.patreon.com/athan"
"type": "opencollective",
"url": "https://opencollective.com/stdlib"
}
}
2 changes: 1 addition & 1 deletion test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var stridedarray2iterator = require( './../lib' );

tape( 'main export is a function', function test( t ) {
t.ok( true, __filename );
t.equal( typeof stridedarray2iterator, 'function', 'main export is a function' );
t.strictEqual( typeof stridedarray2iterator, 'function', 'main export is a function' );
t.end();
});

Expand Down

0 comments on commit cb415a4

Please sign in to comment.