* ci: update golangci-lint to v2
update method:
```
golangci-lint migrate
golangci-lint run --fix
```
and fix the last ones manually
* Apply suggestion from @Copilot
* fix tests
---------
Co-authored-by: Hanzo Dev <[email protected]>
Changes:
- embedded variables must be at the package level
- re-use embedded FS in example for tests
- bump Go module version to 1.16 for tests to run
- This may cause issues building in 1.15
* Add io/fs#FS Driver #471
* Refactor iofs.Iofs to be independent of httpfs
* Rename Iofs to IoFS, accepts fs.FS and use fs.DirEntry.Info() to undo the changes in ErrDuplicateMigration
* fix documents and migration directory for testing
* Fix iofs.Driver so that it can be used by embedding it like httpfs.PartialDriver
* iofs.Driver closes the file system if possible
* Rename receiver
* Refactor file driver to use iofs.Driver
* iofs build constraint is not needed so remove it
* Properly return an error in a corner case
* Increase golangci-lint timeout
* Fix example code
* Revert "Increase golangci-lint timeout"
This reverts commit 2cd12a63b50b7ac48d12dd0adc1ec4f4b49c3b93.
* unexport driver, add iofs.PartialDriver, remove type alias from file driver
* do not panic in Open, return error