neozip-cli 0.70.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/DOCUMENTATION.md +194 -0
  3. package/LICENSE +22 -0
  4. package/README.md +504 -0
  5. package/WHY_NEOZIP.md +212 -0
  6. package/bin/neolist +16 -0
  7. package/bin/neounzip +16 -0
  8. package/bin/neozip +15 -0
  9. package/dist/neozipkit-bundles/blockchain.js +13091 -0
  10. package/dist/neozipkit-bundles/browser.js +5733 -0
  11. package/dist/neozipkit-bundles/core.js +3766 -0
  12. package/dist/neozipkit-bundles/server.js +14996 -0
  13. package/dist/neozipkit-wrappers/blockchain/core/contracts.js +16 -0
  14. package/dist/neozipkit-wrappers/blockchain/index.js +2 -0
  15. package/dist/neozipkit-wrappers/core/ZipDecompress.js +2 -0
  16. package/dist/neozipkit-wrappers/core/components/HashCalculator.js +2 -0
  17. package/dist/neozipkit-wrappers/core/components/Logger.js +2 -0
  18. package/dist/neozipkit-wrappers/core/constants/Errors.js +2 -0
  19. package/dist/neozipkit-wrappers/core/constants/Headers.js +2 -0
  20. package/dist/neozipkit-wrappers/core/encryption/ZipCrypto.js +7 -0
  21. package/dist/neozipkit-wrappers/core/index.js +3 -0
  22. package/dist/neozipkit-wrappers/index.js +13 -0
  23. package/dist/neozipkit-wrappers/server/index.js +2 -0
  24. package/dist/src/config/ConfigSetup.js +455 -0
  25. package/dist/src/config/ConfigStore.js +373 -0
  26. package/dist/src/config/ConfigWizard.js +453 -0
  27. package/dist/src/config/WalletConfig.js +372 -0
  28. package/dist/src/exit-codes.js +210 -0
  29. package/dist/src/index.js +141 -0
  30. package/dist/src/neolist.js +1194 -0
  31. package/dist/src/neounzip.js +2177 -0
  32. package/dist/src/neozip/CommentManager.js +240 -0
  33. package/dist/src/neozip/blockchain.js +383 -0
  34. package/dist/src/neozip/createZip.js +2273 -0
  35. package/dist/src/neozip/file-operations.js +920 -0
  36. package/dist/src/neozip/types.js +6 -0
  37. package/dist/src/neozip/user-interaction.js +256 -0
  38. package/dist/src/neozip/utils.js +96 -0
  39. package/dist/src/neozip.js +785 -0
  40. package/dist/src/server/CommentManager.js +240 -0
  41. package/dist/src/version.js +59 -0
  42. package/env.example +101 -0
  43. package/package.json +175 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,72 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.70.0-alpha] - 2025-11-21
9
+
10
+ ### ⚠️ Alpha Release Notice
11
+
12
+ This is the first alpha release of NeoZip CLI. This software is in early development and may contain bugs, incomplete features, or breaking changes. Use at your own risk.
13
+
14
+ ### Added
15
+
16
+ #### Core Commands
17
+ - **`neozip`** - Create and manage ZIP archives
18
+ - Multiple compression methods: Zstd (default), Deflate, Store
19
+ - Compression levels 0-9
20
+ - Recursive directory processing
21
+ - Pattern-based file inclusion/exclusion
22
+ - Archive and file comments
23
+ - Update, freshen, move, and delete operations
24
+
25
+ - **`neounzip`** - Extract files from ZIP archives
26
+ - Selective extraction with patterns
27
+ - Archive integrity testing
28
+ - Progress reporting
29
+ - Overwrite control
30
+
31
+ - **`neolist`** - List archive contents
32
+ - Multiple output formats (verbose, short, JSON, Unix-style)
33
+ - Detailed metadata display
34
+
35
+ #### Compression & Encryption
36
+ - Zstd compression (default) with streaming support
37
+ - Deflate compression for maximum compatibility
38
+ - Store method for already-compressed files
39
+ - PKZIP legacy encryption support
40
+
41
+ #### Blockchain Features
42
+ - Archive tokenization (NFT creation) on Ethereum, Base and Arbitrum networks
43
+ - OpenTimestamp integration for Bitcoin blockchain timestamping
44
+ - Interactive wallet setup (`neozip init`)
45
+ - Configuration management (`neozip config`)
46
+
47
+ #### Advanced Features
48
+ - Symbolic and hard link handling
49
+ - File permission preservation
50
+ - Line ending conversion (CRLF/LF)
51
+ - Progress reporting
52
+ - ZIP64 support for large files
53
+
54
+ ### Known Limitations
55
+
56
+ - **API Stability**: Command-line interface may change in future releases
57
+ - **Missing Features**: Archive repair, auto-convert, self-extracting archives, and pager support not yet implemented
58
+ - **Platform Testing**: Limited testing on Windows and some Linux distributions
59
+ - **Blockchain**: Requires wallet configuration; some RPC endpoints may timeout
60
+
61
+ ### Documentation
62
+
63
+ - Comprehensive README with usage examples
64
+ - Distribution and NPM publishing guides
65
+ - Troubleshooting documentation
66
+
67
+ ---
68
+
69
+ **For more information:**
70
+ - [README.md](README.md) - Usage guide and examples
71
+ - [WHY_NEOZIP.md](WHY_NEOZIP.md) - Project vision and use cases
72
+ - [Documentation Index](DOCUMENTATION.md) - Full documentation
@@ -0,0 +1,194 @@
1
+ # NeoZip CLI Documentation
2
+
3
+ ## 📚 Documentation Index
4
+
5
+ This document provides an overview of all available documentation for NeoZip CLI.
6
+
7
+ ## 🚀 Quick Start
8
+
9
+ ### Installation
10
+ ```bash
11
+ npm install -g neozip-cli@alpha
12
+ ```
13
+
14
+ ### Basic Usage
15
+ ```bash
16
+ # Create a ZIP archive
17
+ neozip archive.nzip file1.txt file2.txt folder/
18
+
19
+ # Extract files from archive
20
+ neounzip archive.nzip extracted/
21
+
22
+ # List archive contents
23
+ neolist archive.nzip
24
+ ```
25
+
26
+ ### Help Commands
27
+ ```bash
28
+ neozip --help # Show ZIP creation help
29
+ neounzip --help # Show extraction help
30
+ neolist --help # Show listing help
31
+ ```
32
+
33
+ ## 📖 Core Documentation
34
+
35
+ ### User Documentation
36
+
37
+ - **[README.md](README.md)** - Main project documentation
38
+ - Installation instructions
39
+ - Feature overview
40
+ - Command reference
41
+ - Usage examples
42
+ - Troubleshooting guide
43
+
44
+ - **[WHY_NEOZIP.md](WHY_NEOZIP.md)** - Project vision and use cases
45
+ - Introduction to blockchain-enabled archives
46
+ - Use cases and applications
47
+ - NeoZip ecosystem overview
48
+ - Technical innovations
49
+
50
+ - **[CHANGELOG.md](CHANGELOG.md)** - Version history
51
+ - Release notes
52
+ - Feature additions
53
+ - Known limitations
54
+ - Breaking changes
55
+
56
+ - **[env.example](env.example)** - Environment variable configuration
57
+ - Wallet configuration
58
+ - Network settings
59
+ - RPC endpoint configuration
60
+ - Debug and gas settings
61
+
62
+ ## 🎯 Key Features
63
+
64
+ ### Core Commands
65
+
66
+ - **`neozip`** - Create and manage ZIP archives
67
+ - Multiple compression methods (Zstd, Deflate, Store)
68
+ - Compression levels 0-9
69
+ - Recursive directory processing
70
+ - Pattern-based file inclusion/exclusion
71
+ - Archive and file comments
72
+ - Update, freshen, move, and delete operations
73
+
74
+ - **`neounzip`** - Extract files from ZIP archives
75
+ - Selective extraction with patterns
76
+ - Archive integrity testing
77
+ - Progress reporting
78
+ - Overwrite control
79
+ - Password-protected archive support
80
+
81
+ - **`neolist`** - List archive contents
82
+ - Multiple output formats (verbose, short, JSON, Unix-style)
83
+ - Detailed metadata display
84
+ - Filename-only output
85
+
86
+ ### Compression & Encryption
87
+
88
+ - **Zstd Compression** (default)
89
+ - Modern, fast compression algorithm
90
+ - Better compression ratios than deflate
91
+ - Streaming support for large files
92
+
93
+ - **Deflate Compression**
94
+ - Standard ZIP compression method
95
+ - Maximum compatibility with other ZIP tools
96
+
97
+ - **Store Method**
98
+ - No compression (fastest)
99
+ - Useful for already-compressed files
100
+
101
+ - **PKZIP Encryption**
102
+ - Legacy encryption for maximum compatibility
103
+ - Password-protected archives
104
+ - InfoZip-compatible encrypted archives
105
+
106
+ ### Blockchain Features
107
+
108
+ - **Archive Tokenization**
109
+ - Create on-chain tokens (NFTs) for archives
110
+ - Network support: Ethereum Sepolia, Base Sepolia, Base Mainnet, Arbitrum Sepolia, Arbitrum One
111
+ - Automatic token selection or force mint new tokens
112
+ - Archive integrity verification on-chain
113
+
114
+ - **OpenTimestamp**
115
+ - Bitcoin blockchain timestamping
116
+ - Cryptographic proof of archive existence
117
+ - Timestamp verification
118
+
119
+ - **Wallet Integration**
120
+ - Interactive wallet setup wizard (`neozip init`)
121
+ - Configuration management (`neozip config`)
122
+ - Environment variable support
123
+ - Secure wallet key storage
124
+
125
+ ### Advanced Features
126
+
127
+ - Symbolic and hard link handling
128
+ - File permission preservation
129
+ - Line ending conversion (CRLF/LF)
130
+ - Progress reporting
131
+ - ZIP64 support for large files (>4GB)
132
+ - Stdin filename input
133
+ - Archive and file comments
134
+
135
+ ## 🔧 Configuration
136
+
137
+ ### Wallet Setup
138
+
139
+ For blockchain features, configure your wallet:
140
+
141
+ ```bash
142
+ # Interactive setup wizard
143
+ neozip init
144
+
145
+ # View or modify configuration
146
+ neozip config
147
+ ```
148
+
149
+ Configuration is stored in `~/.neozip/wallet.json` and supports:
150
+ - Wallet private key
151
+ - Network selection (testnet/mainnet)
152
+ - Custom RPC endpoints
153
+ - Gas settings
154
+ - Debug options
155
+
156
+ ### Environment Variables
157
+
158
+ You can also configure via environment variables (see [env.example](env.example)):
159
+ - `NEOZIP_WALLET_PASSKEY` - Wallet private key
160
+ - `NEOZIP_NETWORK` - Blockchain network
161
+ - `NEOZIP_BASE_SEPOLIA_RPC_URL` - Custom RPC endpoints
162
+ - `NEOZIP_VERBOSE` - Enable verbose logging
163
+ - `NEOZIP_DEBUG` - Enable debug mode
164
+
165
+ ## 📚 Reading Order
166
+
167
+ 1. **Start with** [README.md](README.md) for installation and basic usage
168
+ 2. **Read** [WHY_NEOZIP.md](WHY_NEOZIP.md) to understand the project vision
169
+ 3. **Review** [CHANGELOG.md](CHANGELOG.md) for version history and known issues
170
+ 4. **Configure** wallet using `neozip init` for blockchain features
171
+ 5. **Reference** [env.example](env.example) for environment variable configuration
172
+
173
+ ## 🔗 Related Links
174
+
175
+ - [ZIP Specification](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT) - Official ZIP format documentation
176
+ - [NeoZip Website](https://neozip.io) - Project website and information
177
+
178
+ ## 📞 Support
179
+
180
+ For issues or questions:
181
+
182
+ 1. **Check** the troubleshooting sections in [README.md](README.md)
183
+ 2. **Review** [CHANGELOG.md](CHANGELOG.md) for known issues
184
+ 3. **Test** with the provided examples
185
+ 4. **Verify** your command syntax with `--help` flags
186
+ 5. **Report** issues via:
187
+ - Email: [support@neozip.io](mailto:support@neozip.io)
188
+ - GitHub: [NeoZip Support Repository](https://github.com/NeoWareInc/neozip-support/issues) (public issue tracker)
189
+
190
+ ---
191
+
192
+ **Version**: 0.70.0-alpha
193
+ **Status**: Alpha Release
194
+ **Last Updated**: 2025-11-21
package/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 NeoWare, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+