also looking at this
chore(deps): update dependency react-dom to 19.2.7
#2138
222 files
+16350
-1825
Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.
| @@ -8,11 +8,6 @@ | ||
| 8 | 8 | "source.fixAll.eslint": "explicit", |
| 9 | 9 | "source.organizeImports": "never" |
| 10 | 10 | }, |
| 11 | "eslint.options": { | |
| 12 | "flags": [ | |
| 13 | "unstable_ts_config" | |
| 14 | ] | |
| 15 | }, | |
| 16 | 11 | // Silent the stylistic rules in you IDE, but still auto fix them |
| 17 | 12 | "eslint.rules.customizations": [ |
| 18 | 13 | { |
Binary file. Nothing to show line by line.
| @@ -10,11 +10,14 @@ interface BarcodeFormat { | ||
| 10 | 10 | example: string |
| 11 | 11 | } |
| 12 | 12 | |
| 13 | // eslint-disable-next-line no-control-regex | |
| 14 | const patternCode128 = /^[\x00-\x7F\xC8-\xD3]+$/ | |
| 15 | ||
| 13 | 16 | const formats: BarcodeFormat[] = [ |
| 14 | 17 | { |
| 15 | 18 | value: 'CODE128', |
| 16 | 19 | label: 'Code 128', |
| 17 | pattern: /^[\x00-\x7F\xC8-\xD3]+$/, | |
| 20 | pattern: patternCode128, | |
| 18 | 21 | hint: 'Accepts any ASCII character', |
| 19 | 22 | example: '123ABC', |
| 20 | 23 | }, |
| @@ -55,15 +55,15 @@ import { barcode } from '@stacksjs/qrx' | ||
| 55 | 55 | |
| 56 | 56 | barcode('#barcode', 'CUSTOM39', { |
| 57 | 57 | format: 'CODE39', |
| 58 | width: 2, // Bar width | |
| 59 | height: 100, // Barcode height | |
| 60 | displayValue: true, // Show text below barcode | |
| 61 | fontSize: 20, // Text size | |
| 62 | font: 'monospace', // Text font | |
| 63 | textAlign: 'center', // Text alignment | |
| 58 | width: 2, // Bar width | |
| 59 | height: 100, // Barcode height | |
| 60 | displayValue: true, // Show text below barcode | |
| 61 | fontSize: 20, // Text size | |
| 62 | font: 'monospace', // Text font | |
| 63 | textAlign: 'center', // Text alignment | |
| 64 | 64 | textPosition: 'bottom', // Text position |
| 65 | background: '#ffffff', // Background color | |
| 66 | lineColor: '#ffffff' // Bar color | |
| 65 | background: '#ffffff', // Background color | |
| 66 | lineColor: '#ffffff' // Bar color | |
| 67 | 67 | }) |
| 68 | 68 | ``` |
| 69 | 69 | |
| @@ -61,17 +61,17 @@ barcode('#barcode', 'A1234-5678.90B', { | ||
| 61 | 61 | |
| 62 | 62 | 1. **Blood Banks** |
| 63 | 63 | ```ts |
| 64 | barcode('#barcode', 'A1234567B', { format: 'codabar' }) // Blood type labeling | |
| 64 | barcode('#barcode', 'A1234567B', { format: 'codabar' }) // Blood type labeling | |
| 65 | 65 | ``` |
| 66 | 66 | |
| 67 | 67 | 2. **Libraries** |
| 68 | 68 | ```ts |
| 69 | barcode('#barcode', 'A123-456+789B', { format: 'codabar' }) // Book tracking | |
| 69 | barcode('#barcode', 'A123-456+789B', { format: 'codabar' }) // Book tracking | |
| 70 | 70 | ``` |
| 71 | 71 | |
| 72 | 72 | 3. **Photo Labs** |
| 73 | 73 | ```ts |
| 74 | barcode('#barcode', 'C12345/678D', { format: 'codabar' }) // Photo processing | |
| 74 | barcode('#barcode', 'C12345/678D', { format: 'codabar' }) // Photo processing | |
| 75 | 75 | ``` |
| 76 | 76 | |
| 77 | 77 | [!NOTE] Image needed: Real-world application examples |
| @@ -102,9 +102,9 @@ barcode('#barcode', 'A123456B', { | ||
| 102 | 102 | 2. **Data Validation** |
| 103 | 103 | ```ts |
| 104 | 104 | // Valid examples |
| 105 | barcode('#barcode', 'A1234-5678B') // Numbers and hyphen | |
| 106 | barcode('#barcode', 'C1234:5678D') // Numbers and colon | |
| 107 | barcode('#barcode', 'A12.34+56/78A') // Multiple special chars | |
| 105 | barcode('#barcode', 'A1234-5678B') // Numbers and hyphen | |
| 106 | barcode('#barcode', 'C1234:5678D') // Numbers and colon | |
| 107 | barcode('#barcode', 'A12.34+56/78A') // Multiple special chars | |
| 108 | 108 | ``` |
| 109 | 109 | |
| 110 | 110 | 3. **Print Quality** |
| @@ -29,7 +29,7 @@ The check digit is automatically calculated if omitted: | ||
| 29 | 29 | import { barcode } from '@stacksjs/qrx' |
| 30 | 30 | |
| 31 | 31 | // These generate the same barcode |
| 32 | barcode('#barcode', '590123412345', { format: 'EAN13' }) // Auto-calculates check digit | |
| 32 | barcode('#barcode', '590123412345', { format: 'EAN13' }) // Auto-calculates check digit | |
| 33 | 33 | barcode('#barcode', '5901234123457', { format: 'EAN13' }) // Manual check digit |
| 34 | 34 | ``` |
| 35 | 35 | |
| @@ -28,8 +28,8 @@ The check digit is automatically calculated if omitted: | ||
| 28 | 28 | import { barcode } from '@stacksjs/qrx' |
| 29 | 29 | |
| 30 | 30 | // These generate the same barcode |
| 31 | barcode('#barcode', '9638507', { format: 'EAN8' }) // Auto-calculates check digit | |
| 32 | barcode('#barcode', '96385074', { format: 'EAN8' }) // Manual check digit | |
| 31 | barcode('#barcode', '9638507', { format: 'EAN8' }) // Auto-calculates check digit | |
| 32 | barcode('#barcode', '96385074', { format: 'EAN8' }) // Manual check digit | |
| 33 | 33 | ``` |
| 34 | 34 | |
| 35 | 35 | ## Advanced Options |
| @@ -29,8 +29,8 @@ The check digit is automatically calculated if omitted: | ||
| 29 | 29 | import { barcode } from '@stacksjs/qrx' |
| 30 | 30 | |
| 31 | 31 | // These generate the same barcode |
| 32 | barcode('#barcode', '12345678901', { format: 'UPC' }) // Auto-calculates check digit | |
| 33 | barcode('#barcode', '123456789012', { format: 'UPC' }) // Manual check digit | |
| 32 | barcode('#barcode', '12345678901', { format: 'UPC' }) // Auto-calculates check digit | |
| 33 | barcode('#barcode', '123456789012', { format: 'UPC' }) // Manual check digit | |
| 34 | 34 | ``` |
| 35 | 35 | |
| 36 | 36 | ## Flat Mode |
| @@ -62,7 +62,7 @@ barcode('#barcode', '123456789012', { | ||
| 62 | 62 | fontSize: 18, |
| 63 | 63 | textMargin: 0, |
| 64 | 64 | flat: false, |
| 65 | guardHeight: 15 // Height of guard bars | |
| 65 | guardHeight: 15 // Height of guard bars | |
| 66 | 66 | }) |
| 67 | 67 | ``` |
| 68 | 68 | |
| @@ -41,16 +41,16 @@ import { barcode } from '@stacksjs/qrx' | ||
| 41 | 41 | |
| 42 | 42 | barcode('#barcode', '5901234123457', { |
| 43 | 43 | format: 'EAN13', |
| 44 | width: 2, // Bar width | |
| 45 | height: 100, // Barcode height | |
| 46 | displayValue: true, // Show text below barcode | |
| 47 | fontSize: 20, // Text size | |
| 48 | font: 'monospace', // Text font | |
| 49 | textAlign: 'center', // Text alignment | |
| 44 | width: 2, // Bar width | |
| 45 | height: 100, // Barcode height | |
| 46 | displayValue: true, // Show text below barcode | |
| 47 | fontSize: 20, // Text size | |
| 48 | font: 'monospace', // Text font | |
| 49 | textAlign: 'center', // Text alignment | |
| 50 | 50 | textPosition: 'bottom', // Text position |
| 51 | 51 | background: '#ffffff', // Background color |
| 52 | lineColor: '#000000', // Bar color | |
| 53 | flat: false, // Remove guard bars if true | |
| 52 | lineColor: '#000000', // Bar color | |
| 53 | flat: false, // Remove guard bars if true | |
| 54 | 54 | }) |
| 55 | 55 | ``` |
| 56 | 56 | |
| @@ -137,7 +137,7 @@ MSI1010 can detect: | ||
| 137 | 137 | |
| 138 | 138 | ```ts |
| 139 | 139 | // Upgrade from MSI10 |
| 140 | barcode('#barcode', '1234', { format: 'MSI10' }) // Single check | |
| 140 | barcode('#barcode', '1234', { format: 'MSI10' }) // Single check | |
| 141 | 141 | barcode('#barcode', '1234', { format: 'MSI1010' }) // Double check |
| 142 | 142 | |
| 143 | 143 | // Alternative double-check option |
| @@ -136,13 +136,13 @@ MSI1110 can detect: | ||
| 136 | 136 | |
| 137 | 137 | ```ts |
| 138 | 138 | // Upgrading from simpler variants |
| 139 | barcode('#barcode', '1234', { format: 'MSI10' }) // Basic | |
| 140 | barcode('#barcode', '1234', { format: 'MSI11' }) // Better | |
| 141 | barcode('#barcode', '1234', { format: 'MSI1010' }) // Enhanced | |
| 142 | barcode('#barcode', '1234', { format: 'MSI1110' }) // Maximum | |
| 139 | barcode('#barcode', '1234', { format: 'MSI10' }) // Basic | |
| 140 | barcode('#barcode', '1234', { format: 'MSI11' }) // Better | |
| 141 | barcode('#barcode', '1234', { format: 'MSI1010' }) // Enhanced | |
| 142 | barcode('#barcode', '1234', { format: 'MSI1110' }) // Maximum | |
| 143 | 143 | |
| 144 | 144 | // Alternative for space-constrained applications |
| 145 | barcode('#barcode', '1234', { format: 'MSI11' }) // Single check, good detection | |
| 145 | barcode('#barcode', '1234', { format: 'MSI11' }) // Single check, good detection | |
| 146 | 146 | ``` |
| 147 | 147 | |
| 148 | 148 | ## Technical Notes |
| @@ -20,13 +20,13 @@ qrx supports multiple MSI variants with different checksum calculations: | ||
| 20 | 20 | |
| 21 | 21 | ```ts |
| 22 | 22 | // Basic MSI (no checksum) |
| 23 | barcode('#barcode', '1234', { format: 'MSI' }) // Result: 1234 | |
| 23 | barcode('#barcode', '1234', { format: 'MSI' }) // Result: 1234 | |
| 24 | 24 | |
| 25 | 25 | // With Mod 10 checksum |
| 26 | barcode('#barcode', '1234', { format: 'MSI10' }) // Result: 12344 | |
| 26 | barcode('#barcode', '1234', { format: 'MSI10' }) // Result: 12344 | |
| 27 | 27 | |
| 28 | 28 | // With Mod 11 checksum |
| 29 | barcode('#barcode', '1234', { format: 'MSI11' }) // Result: 12343 | |
| 29 | barcode('#barcode', '1234', { format: 'MSI11' }) // Result: 12343 | |
| 30 | 30 | |
| 31 | 31 | // With double Mod 10 checksum |
| 32 | 32 | barcode('#barcode', '1234', { format: 'MSI1010' }) // Result: 123448 |
| @@ -35,41 +35,41 @@ You can also try to convince your employer to sponsor Stacks as a business. This | ||
| 35 | 35 | ___ |
| 36 | 36 | |
| 37 | 37 | - **Diamond (USD$2,500/mo):** |
| 38 | - Prominent logo placement on the front page of [stacksjs.org](https://stacksjs.org), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [rpx](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnels](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 38 | - Prominent logo placement on the front page of [stacksjs.org](https://stacksjs.org), [buddy.sh](https://buddy.sh), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [reverse-proxy.sh](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnel.sh](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 39 | 39 | - Prominent logo placement in sidebar of all content pages. |
| 40 | - Prominent logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 40 | - Prominent logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 41 | 41 | |
| 42 | 42 | ___ |
| 43 | 43 | |
| 44 | 44 | - **Platinum (USD$1,000/mo):** |
| 45 | - Large logo placement on the front page of [stacksjs.org](https://stacksjs.org), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [rpx](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnels](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 46 | - Large logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 45 | - Large logo placement on the front page of [stacksjs.org](https://stacksjs.org), [buddy.sh](https://buddy.sh), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [reverse-proxy.sh](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnel.sh](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 46 | - Large logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 47 | 47 | |
| 48 | 48 | ___ |
| 49 | 49 | |
| 50 | 50 | - **Double Gold (USD$500/mo):** |
| 51 | - Large logo placement on the front page of [stacksjs.org](https://stacksjs.org), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [rpx](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnels](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 52 | - Large logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 51 | - Large logo placement on the front page of [stacksjs.org](https://stacksjs.org), [buddy.sh](https://buddy.sh), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [reverse-proxy.sh](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnel.sh](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 52 | - Large logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 53 | 53 | |
| 54 | 54 | ___ |
| 55 | 55 | |
| 56 | 56 | - **Gold (USD$250/mo):** |
| 57 | - Large logo placement on the front page of [stacksjs.org](https://stacksjs.org), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [rpx](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnels](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 58 | - Large logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 57 | - Large logo placement on the front page of [stacksjs.org](https://stacksjs.org), [buddy.sh](https://buddy.sh), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [reverse-proxy.sh](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnel.sh](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 58 | - Large logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 59 | 59 | |
| 60 | 60 | ___ |
| 61 | 61 | |
| 62 | 62 | - **Silver (USD$100/mo):** |
| 63 | - Medium logo placement on the front page of [stacksjs.org](https://stacksjs.org), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [rpx](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnels](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 64 | - Medium logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 65 | - Medium logo placement in the `BACKERS.md` file of>70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 63 | - Medium logo placement on the front page of [stacksjs.org](https://stacksjs.org), [buddy.sh](https://buddy.sh), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [reverse-proxy.sh](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnel.sh](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 64 | - Medium logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 65 | - Medium logo placement in the `BACKERS.md` file of>70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 66 | 66 | |
| 67 | 67 | ___ |
| 68 | 68 | |
| 69 | 69 | - **Bronze (50/mo):** |
| 70 | - Small logo placement on the front page of [stacksjs.org](https://stacksjs.org), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [rpx](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnels](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 71 | - Small logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 72 | - Small logo placement in the `BACKERS.md` file of >70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 70 | - Small logo placement on the front page of [stacksjs.org](https://stacksjs.org), [buddy.sh](https://buddy.sh), [docs.stacksjs.org](https://docs.stacksjs.org), [tlsx.sh](https://tlsx.sh), [reverse-proxy.sh](https://reverse-proxy.sh), [qrx](https://ts-quick-reaction.netlify.app), [dtsx](https://github.com/stacksjs/dtsx), [localtunnel.sh](https://localtunnel.sh), [bunfig](https://bunfig.netlify.app/), [vite-plugin-local](https://vite-plugin-local.netlify.app/), [ts-collect](https://ts-collect.netlify.app/), [ts-spreadsheets](https://ts-spreadsheets.netlify.app/). | |
| 71 | - Small logo placement in the README of >70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 72 | - Small logo placement in the `BACKERS.md` file of >70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 73 | 73 | |
| 74 | 74 | ___ |
| 75 | 75 | |
| @@ -83,12 +83,12 @@ ___ | ||
| 83 | 83 | |
| 84 | 84 | - **Sponsorware Tier (USD$10/mo):** |
| 85 | 85 | - Get access to all current sponsorware projects *(i.e. the Stacks DynamoDB ORM driver)* |
| 86 | - Name listed in the `BACKERS.md` file of >70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 86 | - Name listed in the `BACKERS.md` file of >70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 87 | 87 | |
| 88 | 88 | ___ |
| 89 | 89 | |
| 90 | 90 | - **Individual Backer (USD$5/mo):** |
| 91 | - Name listed in the `BACKERS.md` file of >70x `stacksjs/core` repos, `stacksjs/stacks`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 91 | - Name listed in the `BACKERS.md` file of >70x `stacksjs/core` repos, `stacksjs/stacks`, `buddy.sh`, `tlsx`, `rpx`, `dtsx`, `qrx`, `localtunnels`, `bunfig`, `vite-plugin-local`, `ts-collect`, `ts-spreadsheets`, and few others. | |
| 92 | 92 | |
| 93 | 93 | ## Current Sponsors |
| 94 | 94 | |
| @@ -29,8 +29,8 @@ | ||
| 29 | 29 | "files": ["README.md", "dist"], |
| 30 | 30 | "scripts": { |
| 31 | 31 | "build": "bun --bun build.ts && bun run compile", |
| 32 | "lint": "bunx --bun eslint --flag unstable_ts_config .", | |
| 33 | "lint:fix": "bunx --bun eslint --flag unstable_ts_config . --fix", | |
| 32 | "lint": "bunx --bun eslint .", | |
| 33 | "lint:fix": "bunx --bun eslint . --fix", | |
| 34 | 34 | "fresh": "bunx rimraf node_modules/ bun.lock && bun i", |
| 35 | 35 | "changelog": "bunx changelogen --output CHANGELOG.md", |
| 36 | 36 | "release": "bun run changelog && bunx bumpp -r --all", |
| @@ -43,7 +43,7 @@ | ||
| 43 | 43 | "devDependencies": { |
| 44 | 44 | "@iconify-json/carbon": "^1.2.5", |
| 45 | 45 | "@shikijs/vitepress-twoslash": "^1.24.4", |
| 46 | "@stacksjs/eslint-config": "^3.12.0-beta.4", | |
| 46 | "@stacksjs/eslint-config": "^3.13.1-beta.2", | |
| 47 | 47 | "@stacksjs/qrx": "workspace:*", |
| 48 | 48 | "@types/bun": "^1.1.14", |
| 49 | 49 | "@vite-pwa/vitepress": "^0.5.3", |
| @@ -63,7 +63,7 @@ | ||
| 63 | 63 | "unconfig": "0.3.10" |
| 64 | 64 | }, |
| 65 | 65 | "lint-staged": { |
| 66 | "*.{js,ts}": "bunx --bun eslint --flag unstable_ts_config . --fix" | |
| 66 | "*.{js,ts}": "bunx --bun eslint . --fix" | |
| 67 | 67 | }, |
| 68 | 68 | "workspaces": [ |
| 69 | 69 | "packages/*" |
| @@ -55,9 +55,9 @@ class QRMath { | ||
| 55 | 55 | for (let i = 8; i < 256; i++) { |
| 56 | 56 | QRMath.EXP_TABLE[i] |
| 57 | 57 | = QRMath.EXP_TABLE[i - 4] |
| 58 | ^ QRMath.EXP_TABLE[i - 5] | |
| 59 | ^ QRMath.EXP_TABLE[i - 6] | |
| 60 | ^ QRMath.EXP_TABLE[i - 8] | |
| 58 | ^ QRMath.EXP_TABLE[i - 5] | |
| 59 | ^ QRMath.EXP_TABLE[i - 6] | |
| 60 | ^ QRMath.EXP_TABLE[i - 8] | |
| 61 | 61 | } |
| 62 | 62 | // Initialize LOG_TABLE |
| 63 | 63 | for (let i = 0; i < 255; i++) { |
| @@ -563,13 +563,13 @@ class QRUtil { | ||
| 563 | 563 | public static G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0) |
| 564 | 564 | public static G18 |
| 565 | 565 | = (1 << 12) |
| 566 | | (1 << 11) | |
| 567 | | (1 << 10) | |
| 568 | | (1 << 9) | |
| 569 | | (1 << 8) | |
| 570 | | (1 << 5) | |
| 571 | | (1 << 2) | |
| 572 | | (1 << 0) | |
| 566 | | (1 << 11) | |
| 567 | | (1 << 10) | |
| 568 | | (1 << 9) | |
| 569 | | (1 << 8) | |
| 570 | | (1 << 5) | |
| 571 | | (1 << 2) | |
| 572 | | (1 << 0) | |
| 573 | 573 | |
| 574 | 574 | public static G15_MASK |
| 575 | 575 | = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1) |