Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat!: Switch stream implementation to streamx #333

Merged
merged 61 commits into from
Jun 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
e9f14b0
Breaking: Upgrade scaffold, dropping node <10 support
coreyfarrell Jan 14, 2021
d574c67
Build: Fix test failures
coreyfarrell Jan 15, 2021
401df3d
Testing: Fix some Windows tests
coreyfarrell Jan 15, 2021
6222311
Build: Drop object.assign, stop using new Buffer
coreyfarrell Jan 15, 2021
b9d9917
Remove some unused README.md links
coreyfarrell Jan 15, 2021
f4f3fd1
chore: normalize repository and update dependencies
sttk Feb 23, 2023
2e0a6dc
test: upgrade expect to 27.5.1
sttk Feb 23, 2023
c650c25
test: change .toMatch to .toEqual
sttk Feb 23, 2023
708922e
test: upgrade sinon to ^15.0.1
sttk Feb 23, 2023
7607ece
update: upgrade fs-mkdirp-stream to ^2.0.1
sttk Feb 23, 2023
641d85e
test: drop mississippi
sttk Feb 23, 2023
b4546ee
update: drop readable-stream
sttk Mar 12, 2023
bd3e17c
update: use streamx and drop through2
sttk Mar 12, 2023
a81a607
update: drop remove-bom-buffer (buf is-utf8 is used)
sttk Mar 19, 2023
e93a137
update: replace pumpify to streamx.pipeline in src.js
sttk Mar 19, 2023
fafe70a
update: upgrade pumpify to 2.0.1
sttk Mar 19, 2023
ad4143a
test: skip 2 cases about dir symlink on node10 and win because of EPE…
sttk Mar 19, 2023
63f4e29
Update LICENSE
phated Apr 23, 2023
3e98f45
Update package.json
phated Apr 23, 2023
78f4369
feat!: Make codecs use streamx and test with all streams
phated Apr 23, 2023
b88a77e
switch dest to stream-composer and add logging to show bug
phated May 31, 2023
787969b
remove logging and and re-enable tests
phated Jun 1, 2023
2bb5b74
switch pumpify to stream-composer
phated Jun 1, 2023
027895c
owner tests for each stream type
phated Jun 1, 2023
0c0489a
reword to using
phated Jun 1, 2023
8d815c1
test symlinks with each stream type
phated Jun 1, 2023
fd7e345
update dest-time tests to test against all streams
phated Jun 1, 2023
6351e95
dest tests with all streams, skip event tests that crash
phated Jun 1, 2023
22ab206
remove toString which shows a bug, i think
phated Jun 1, 2023
d85f291
correct restoring spied functions
sttk Jun 4, 2023
73172ae
modify to use toEqual from using toHaveProperty
sttk Jun 4, 2023
bf840ed
remove .toString() in test/src.js
sttk Jun 4, 2023
c62c91b
Begin reworking stream testing utils
phated Jun 8, 2023
6e58f56
rework the createWriteStream
phated Jun 8, 2023
33ad67e
refactor a couple more stream suites & stream utils
phated Jun 8, 2023
2c1e309
concatArray in integration
phated Jun 8, 2023
6af14f4
concatArray helper
phated Jun 8, 2023
e7455c5
skip integrations until they dont crash the runner
phated Jun 8, 2023
e35874c
the rest of it
phated Jun 9, 2023
4156c8d
align action with previous travis behavior
phated Jun 9, 2023
9c358de
increase timeout
phated Jun 10, 2023
9a10494
increase another timeout
phated Jun 10, 2023
7c74a2f
higher timeout for macos
phated Jun 10, 2023
395d164
higher timeout for macos
phated Jun 10, 2023
b56684c
disable timeouts on all long tests
phated Jun 10, 2023
4263acd
path.unix.join for globs on windows
phated Jun 10, 2023
6830b1b
posix not unix
phated Jun 10, 2023
779f6fc
not owned is not a glob?
phated Jun 10, 2023
fbe4de5
normalize-path on src globs
phated Jun 10, 2023
3a626e2
back to path.join
phated Jun 10, 2023
f40a026
cleanup based on review
phated Jun 10, 2023
4ed088d
try running on windows & node 10
phated Jun 10, 2023
dafec7c
windows debug
phated Jun 10, 2023
10aa3e2
more debug to be sure
phated Jun 10, 2023
709fa5d
try to readlink
phated Jun 10, 2023
32d2de2
add comment, cleanup debug and re-enable all tests
phated Jun 10, 2023
553d4ca
try realpath instead of readlink for multi-level symlinks
phated Jun 10, 2023
ad46d76
refactor and readlink recursively
phated Jun 10, 2023
9a2c648
remove parse-node-version from devdeps
phated Jun 10, 2023
bde6061
update readme
phated Jun 11, 2023
eef8d26
rename function
phated Jun 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# http://editorconfig.org
# https://editorconfig.org
root = true

[*]
Expand Down
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
coverage/
3 changes: 0 additions & 3 deletions .github/FUNDING.yml

This file was deleted.

4 changes: 0 additions & 4 deletions .github/SECURITY.md

This file was deleted.

2 changes: 0 additions & 2 deletions .github/support.yml

This file was deleted.

82 changes: 82 additions & 0 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: dev
on:
pull_request:
push:
branches:
- master
- main
env:
CI: true

jobs:
prettier:
name: Format code
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' }}

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Prettier
uses: gulpjs/prettier_action@v3.0
with:
commit_message: 'chore: Run prettier'
prettier_options: '--write .'

test:
name: Tests for Node ${{ matrix.node }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
node: [10, 12, 14, 16]
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
- name: Clone repository
uses: actions/checkout@v2

- name: Set Node.js version
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}

- run: node --version
- run: npm --version

- name: Install npm dependencies
run: npm install

- name: Run lint
run: npm run lint

- name: Prepare files
if: ${{ !startsWith(matrix.os, 'windows') }}
run: |
find test -type d -exec chmod g+s {} \;
sudo chown root test/fixtures/not-owned/not-owned.txt
sudo chmod 666 test/fixtures/not-owned/not-owned.txt

- name: Run tests
run: npm test

- name: Coveralls
uses: coverallsapp/github-action@v1.1.2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: ${{matrix.os}}-node-${{ matrix.node }}
parallel: true

coveralls:
needs: test
name: Finish up

runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@v1.1.2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true
16 changes: 16 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: release
on:
push:
branches:
- master
- main

jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: GoogleCloudPlatform/release-please-action@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
release-type: node
package-name: release-please-action
53 changes: 43 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,37 +1,70 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Compiled binary addons (http://nodejs.org/api/addons.html)
# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directory
# Commenting this out is preferred by some people, see
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
node_modules
# Dependency directories
node_modules/
jspm_packages/

# Users Environment Variables
.lock-wscript
# TypeScript v1 declaration files
typings/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

# next.js build output
.next

# Garbage files
.DS_Store

# VSCode configuration files
.vscode
# Test results
test.xunit

# Generated by integration tests
test/out-fixtures/
3 changes: 0 additions & 3 deletions .jscsrc

This file was deleted.

1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
coverage/
.nyc_output/
CHANGELOG.md
16 changes: 0 additions & 16 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2013-2017 Blaine Bublitz <blaine.bublitz@gmail.com>, Eric Schoffstall <yo@contra.io> and other contributors
Copyright (c) 2013-2020, 2023 Blaine Bublitz <blaine.bublitz@gmail.com> and Eric Schoffstall <yo@contra.io>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
48 changes: 20 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<p align="center">
<a href="http://gulpjs.com">
<a href="https://gulpjs.com">
<img height="257" width="114" src="https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png">
</a>
</p>

# vinyl-fs

[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url]
[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][ci-image]][ci-url] [![Coveralls Status][coveralls-image]][coveralls-url]

[Vinyl][vinyl] adapter for the file system.

Expand All @@ -18,12 +18,6 @@

While Vinyl provides a clean way to describe a file, we now need a way to access these files. Each file source needs what we call a "Vinyl adapter". A Vinyl adapter simply exposes a `src(globs)` and a `dest(folder)` method. Each return a stream. The `src` stream produces Vinyl objects, and the `dest` stream consumes Vinyl objects. Vinyl adapters can expose extra methods that might be specific to their input/output medium, such as the `symlink` method `vinyl-fs` provides.

## vinyl-fs for enterprise

Available as part of the Tidelift Subscription

The maintainers of vinyl-fs and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-vinyl-fs?utm_source=npm-vinyl-fs&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)

## Usage

```javascript
Expand Down Expand Up @@ -133,15 +127,15 @@ Default: `true`

Whether or not you want globs to match on dot files (e.g. `.gitignore`).

__Note: This option is not resolved from a function because it is passed verbatim to node-glob.__
__Note: This option is not resolved from a function because it is passed verbatim to anymatch.__

Type: `Boolean`

Default: `false`

##### other

Any glob-related options are documented in [glob-stream] and [node-glob] and are forwarded verbatim.
Any glob-related options are documented in [glob-stream] and [anymatch] and are forwarded verbatim.

### `dest(folder[, options])`

Expand Down Expand Up @@ -344,28 +338,26 @@ type of link and we default to using `'file'`, which may cause unexpected behavi
if you are creating a "dangling" link to a directory. It is advised to avoid this
scenario.

## License

[symbolic-caveats]: #symbolic-links-on-windows
[glob-stream]: https://github.com/gulpjs/glob-stream
[node-glob]: https://github.com/isaacs/node-glob
[gaze]: https://github.com/shama/gaze
[glob-watcher]: https://github.com/wearefractal/glob-watcher
[vinyl]: https://github.com/wearefractal/vinyl
[iconv-lite]: https://github.com/ashtuchkin/iconv-lite
MIT

[downloads-image]: http://img.shields.io/npm/dm/vinyl-fs.svg
<!-- prettier-ignore-start -->
[downloads-image]: https://img.shields.io/npm/dm/vinyl-fs.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/vinyl-fs
[npm-image]: http://img.shields.io/npm/v/vinyl-fs.svg
[npm-image]: https://img.shields.io/npm/v/vinyl-fs.svg?style=flat-square

[travis-url]: https://travis-ci.org/gulpjs/vinyl-fs
[travis-image]: http://img.shields.io/travis/gulpjs/vinyl-fs.svg?label=travis-ci

[appveyor-url]: https://ci.appveyor.com/project/gulpjs/vinyl-fs
[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/vinyl-fs.svg?label=appveyor
[ci-url]: https://github.com/gulpjs/vinyl-fs/actions?query=workflow:dev
[ci-image]: https://img.shields.io/github/actions/workflow/status/gulpjs/vinyl-fs/dev.yml??branch=master&style=flat-square

[coveralls-url]: https://coveralls.io/r/gulpjs/vinyl-fs
[coveralls-image]: http://img.shields.io/coveralls/gulpjs/vinyl-fs/master.svg

[gitter-url]: https://gitter.im/gulpjs/gulp
[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg
[coveralls-image]: https://img.shields.io/coveralls/gulpjs/vinyl-fs.svg?style=flat-square
<!-- prettier-ignore-end -->

<!-- prettier-ignore-start -->
[symbolic-caveats]: #symbolic-links-on-windows
[glob-stream]: https://github.com/gulpjs/glob-stream
[anymatch]: https://github.com/micromatch/anymatch
[vinyl]: https://github.com/gulpjs/vinyl
[iconv-lite]: https://github.com/ashtuchkin/iconv-lite
<!-- prettier-ignore-end -->
27 changes: 0 additions & 27 deletions appveyor.yml

This file was deleted.

Loading