Skip to content
Merged

v4 #39

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
f67c2c9
fix(package): set `sideEffects: false` in package.json
duniul Oct 1, 2024
00c3cd6
feat(deps): update picomatch to v4
duniul Oct 1, 2024
7491637
feat(deps): update `pretty-ms` to v9 and update minor versions of deps
duniul Oct 1, 2024
47b01ae
fix(package): fix `repository` definition in package.json
duniul Oct 1, 2024
a340f6f
chore(deps): switch from prettier to oxfmt
duniul May 10, 2026
61fc3e0
chore(oxfmt): format project
duniul May 10, 2026
89160d7
chore(deps): switch from biome to oxlint
duniul May 10, 2026
bfeed3c
chore(node): use node 24 and pnpm 11
duniul May 10, 2026
5ef9e17
chore(vscode): update settings
duniul May 10, 2026
ac6de03
feat(esm): build only ESM, replace tsup with tsdown
duniul May 10, 2026
6fd8cde
feat(node): upgrade minimum Node version to v22
duniul May 10, 2026
db9ce69
chore(deps): pin dev dependency versions
duniul May 10, 2026
dee5c75
chore(deps): update to typescript v6, remove tslib
duniul May 10, 2026
404c03e
chore(deps): update vite to v4
duniul May 10, 2026
4b12a94
chore(deps): remove tsx
duniul May 10, 2026
7d1d9ac
chore(deps): update changesets
duniul May 10, 2026
4d1f2aa
chore(deps): update memfs
duniul May 10, 2026
14059f1
chore(deps): update @types/picomatch
duniul May 10, 2026
6800d5d
fix(deps): removed unnecessary colored ouput and supports-color dep
duniul May 10, 2026
d428e34
fix(deps): replace pretty-bytes and pretty-ms with internal functions
duniul May 10, 2026
39365df
chore(test): split test and test:watch commands
duniul May 10, 2026
4f6266a
chore: simplify logger
duniul May 10, 2026
dfbcb41
chore(pnpm): remove savePrefix
duniul May 10, 2026
61b97e7
fix(terminal): replace clipanion with citty for CLI arg parsing
duniul May 10, 2026
e4ab8cc
chore(deps): remove unused @types/mock-fs
duniul May 10, 2026
a508254
chore(actions): update actions and CI steps
duniul May 10, 2026
695f83e
fix(clean): ensure --keep-empty is respected
duniul May 10, 2026
a45ca66
chore(ci): add type and style checking steps
duniul May 11, 2026
af0d785
test: fix incorrect filesystem test
duniul May 11, 2026
561c620
fix: remove redundant number fallbacks
duniul May 11, 2026
293e149
fix(patterns): remove risky doc/ and docs/ patterns
duniul May 11, 2026
9ab2ba3
fix(patterns): update default file patterns
duniul May 11, 2026
bc65618
feat: surface unlink and crawl failures to the user
duniul May 11, 2026
e982b24
chore: formatting
duniul May 11, 2026
a055bcb
test: add tests for symlink handling with pnpm
duniul May 11, 2026
dfb87bc
feat: use built-in parseArgs for CLI arg parsing
duniul May 17, 2026
bbea51b
chore: update dev dependencies
duniul May 17, 2026
069ec1f
chore: disable require-unicode-regexp
duniul May 17, 2026
b0a1838
fix: skip confirmation prompt without tty, check y or yes
duniul May 17, 2026
409fdf2
fix: correct removed files count
duniul May 17, 2026
c3bd4b2
fix: add dry run suffixes to results
duniul May 17, 2026
3caf8a4
chore: remove obsolete changesets
duniul May 17, 2026
ca6a4a1
chore: fix tsbuildinfo file name
duniul May 17, 2026
6f878df
fix(perf): avoid parsing default globs twice in analyze
duniul May 17, 2026
34a3b27
fix: don't double prefix `**` to globs not starting with `/`
duniul May 17, 2026
9ab0079
fix: add line breaks to confirmation message
duniul May 17, 2026
540c372
fix: improve `removeEmptyDirsUp`, avoiding redundant `readdir` calls
duniul May 17, 2026
9a1f211
test: add CLI tests
duniul May 17, 2026
7e796ce
chore: update README and package description
duniul May 18, 2026
bb467f9
chore: update changesets schema
duniul May 18, 2026
d2cf7e4
fixup readme
duniul May 18, 2026
b44d0ef
fix: update directory defaultHint
duniul May 18, 2026
06b490c
fixup readme
duniul May 18, 2026
64849ba
chore: remove unused image files
duniul May 23, 2026
fcc1772
docs: fix badges
duniul May 23, 2026
f47e9b2
chore: update dev deps
duniul May 23, 2026
b595761
chore: update permissions and pnpm version in GH actions
duniul May 23, 2026
d1e0c91
chore: use pnpm in release command
duniul May 23, 2026
782414c
chore: bump version and fix changelog
duniul May 23, 2026
f9cc11e
chore: format readme
duniul May 23, 2026
59856ac
chore: resolve pnpm version from packageManager in CI
duniul May 23, 2026
a313864
fix: avoid extra space in dry run output
duniul May 23, 2026
0f76b9c
fix: fix path separator check for Windows in clean up in removeEmptyDirs
duniul May 23, 2026
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 .changeset/config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://unpkg.com/@changesets/config@2.1.1/schema.json",
"$schema": "https://unpkg.com/@changesets/config@2.31.0/schema.json",
"changelog": ["changesets-changelog-clean", { "repo": "duniul/clean-modules" }],
"commit": false,
"fixed": [],
Expand Down
124 changes: 88 additions & 36 deletions .cleanmodules-default
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,9 @@

# test
__tests__/
__mocks__/
test/
tests/
powered-test/

# docs
docs/
doc/

# IDE
.idea/
Expand All @@ -33,9 +29,27 @@ coverage/
# git
.git/

# ai
.claude/
.cursor/
.copilot/
.codeium/
.aider/
.windsurf/
.bolt/
.codex/
.continue/

# other
website/
.husky/
.turbo/
.pnpm-store/
.kotlin/
.gradle/
.changeset/
.storybook/
.devcontainer/

#
# FILE EXTENSIONS
Expand All @@ -53,26 +67,32 @@ website/
# docs/text
*.@(md|mkd|markdown|mdown)
*.todo
*.mustache
*.@(adoc|asciidoc)
*.DOCS

# compiled
# include .ts files but not .d.ts
\!(*.d).ts
*.coffee
*.flow

# compressed
*.zip
*.7z
*.rar
*.tar
*.tgz
*.gz
*.xz
*.bz2

# images
*.@(jpg|jpeg)
*.png
*.gif
*.bmp
*.ico
*.webp

# compiled
*.h
Expand All @@ -81,6 +101,8 @@ website/
*.cpp
*.o
*.mk
*.hh
*.cc

# other
*.log
Expand All @@ -94,6 +116,15 @@ website/
*.vcxproj*(.*)
*.orig
*.rej
*.lockfile
*.lcov
*.bak
*.tmp
*.temp
*.gyp
*.gypi
*.1
*.un~

#
# FILES
Expand All @@ -116,13 +147,15 @@ circle.yml

# Mac OS
.DS_Store
._*

# Windows
Desktop.ini
Thumbs.db

# linters
.eslintrc*(.*)
*.eslintrc*(.*)
*.eslintcache
eslint.config.@(cjs|js|mjs)
stylelint.config.js
.stylelintrc*(.*)
Expand All @@ -131,22 +164,27 @@ htmllint.js
.jshintrc*(.*)
.lint
tslint.json
.lintignore
.jshintignore
.eslintignore

# prettier
biome.json
.oxlintrc.@(json|jsonc)
oxlint.config.ts
.oxfmtrc.@(json|jsonc)
oxfmt.config.ts
.prettierrc*(.*)
prettier.config.js

# ai
.cursorrules
.clinerules
.windsurfrules

# testing
\!(utils)/test.js
jest.config.js
karma.conf.js
wallaby.js
wallaby.conf.js
.coveralls.yml
.airtap.yml
vitest.config.*

# docs
readme*(.*)
Expand All @@ -158,17 +196,23 @@ contributing*(.*)
notice*(.*)
copying*(.*)

# docker
docker-compose.@(yml|yaml)

# editors
*.sublime-project
*.sublime-workspace

# licenses
licen@(s|c)e
licen@(s|c)e-mit
licen@(s|c)e.txt
licen@(s|c)e-mit.txt
licen@(s|c)e*
*.licen@(s|c)e*
LICEN@(S|C)E*
*.LICEN@(S|C)E*
ThirdPartyNotice*(.*)
CopyrightNotice*(.*)

# typescript
.tsbuildinfo

# npm
.npmrc
*.tsbuildinfo

# ignore files
.*ignore
Expand All @@ -178,39 +222,47 @@ yarn.lock
.yarnclean
.yarn-metadata.json

# pnpm
pnpm-lock.yaml
pnpm-workspace.yaml

# git
.gitmodules
.gitattributes

# configs
.npmrc
.babelrc
.editorconfig
.tern-project
.flowconfig
.documentup.json
.yo-rc.json
*.npmrc
*.nvmrc
*.babelrc
*.editorconfig
*.flowconfig
*.yo-rc.json
_config.yml
bower.json
renovate.json
.vimrc*(.*)
.zuul.yml
.istanbul.yml
.nycrc
.jscsrc
jsconfig.json
tsconfig.json
turbo.json
nx.json
deno.@(json|jsonc)

# versioning
.bmp.yml
.release-it.@(cjs|js|json|toml|ts|yaml|yml)

# lint-staged
lint-staged.config.*
.lintstagedrc*(.*)

# other
.dir-locals.el
binding.gyp
cakefile
component.json
composer.json
contributors
.jamignore
.codecov.yml
pom.xml
OSSMETADATA
.browserslistrc
.browserslist
.node-version
.tool-versions
15 changes: 8 additions & 7 deletions .github/workflows/changesets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,33 @@ on:
paths-ignore:
- '.vscode/**'
- 'images/**'
- '.gitattributes'
- '.gitignore'
- '*.md'
- 'LICENSE'

concurrency: ${{ github.workflow }}-${{ github.ref }}

permissions:
contents: write
pull-requests: write
id-token: write

jobs:
main:
name: Publish changed packages
runs-on: ubuntu-latest
steps:
- name: 🏗 Setup repo
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: 🏗 Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
uses: pnpm/action-setup@v6

- name: 🏗 Setup Node
uses: actions/setup-node@v3
uses: actions/setup-node@v6
with:
node-version: 18.x
node-version: 22.x
cache: pnpm

- name: 📦 Install dependencies
Expand All @@ -47,4 +49,3 @@ jobs:
publish: pnpm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
32 changes: 18 additions & 14 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,42 @@ on:
paths-ignore:
- '.vscode/**'
- 'images/**'
- '.gitattributes'
- '.gitignore'
- '*.md'
- 'LICENSE'

permissions:
contents: read

jobs:
build:
name: 🧱 Build
name: 🧱 Check and build
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: 🏗 Setup repo
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: 🏗 Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
uses: pnpm/action-setup@v6

- name: 🏗 Setup Node
uses: actions/setup-node@v3
uses: actions/setup-node@v6
with:
node-version: 18.x
node-version: 22.x
cache: pnpm

- name: 📦 Install dependencies
run: pnpm install

- name: 🧹 Stylecheck project
run: pnpm stylecheck

- name: 🧹 Typecheck project
run: pnpm typecheck

- name: 🧱 Build project
run: pnpm build

Expand All @@ -43,23 +50,20 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
node-version: [14.x, 18.x]

runs-on: ${{ matrix.os }}

steps:
- name: 🏗 Setup repo
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: 🏗 Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
uses: pnpm/action-setup@v6

- name: 🏗 Setup Node
uses: actions/setup-node@v3
uses: actions/setup-node@v6
with:
node-version: 18.x
node-version: 22.x
cache: pnpm

- name: 📦 Install dependencies
Expand Down
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24.13.0
18 changes: 18 additions & 0 deletions .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"ignorePatterns": ["**/node_modules", "**/dist", "**/.history", "**/tsconfig.tsbuildinfo"],
"printWidth": 110,
"trailingComma": "es5",
"jsxSingleQuote": true,
"singleQuote": true,
"arrowParens": "avoid",
"quoteProps": "consistent",
"sortPackageJson": {
"enabled": true,
"sortScripts": false
},
"sortImports": {
"enabled": true,
"newlinesBetween": false
}
}
Loading
Loading