visualsubnetcalc icon indicating copy to clipboard operation
visualsubnetcalc copied to clipboard

chore: ⚑ Refactor script imports to local files and update package dependencies to resolve #37

Open ranma2913 opened this issue 2 months ago β€’ 6 comments

Summary

This PR refactors the application to eliminate external CDN dependencies by migrating to locally bundled JavaScript libraries. This change improves performance, reliability, and offline functionality while reducing external dependency risks.

Fixes #37

Changes Made

πŸ“¦ CDN to Local Dependencies Migration

  • Replaced CDN script imports with local file references in HTML files:
    • Bootstrap 5.3.6 JavaScript bundle
    • jQuery 3.7.1
    • jQuery Validation 1.21.0 (core + additional methods)
  • Updated package dependencies to include:
    • jquery: ^3.7.1
    • jquery-validation: ^1.21.0
  • Enhanced build script to automatically copy JavaScript dependencies from node_modules to dist/js/

πŸ”§ Build Process Improvements

  • Automated dependency copying during build process
  • Added local JavaScript files to the repository for immediate availability
  • Maintained existing CSS compilation and other build steps

πŸ“š Documentation Updates

  • Improved README commands by removing shell prompt characters (>)
  • Enhanced copy-paste experience for local development setup instructions
  • Streamlined command formatting for better user experience

Benefits

  1. Improved Performance: Eliminates network requests to external CDNs, reducing page load times
  2. Enhanced Reliability: Removes dependency on external CDN availability and network connectivity
  3. Offline Functionality: Application now works completely offline after initial download
  4. Security Enhancement: Reduces exposure to CDN compromise and supply chain attacks
  5. Version Control: All dependencies are now explicitly managed and versioned
  6. Development Experience: Faster local development with no external dependencies

Migration Details

Before (CDN-based):

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" 
        integrity="sha384-j1CDi7MgGQ12Z7Qab0qlWQ/Qqz24Gc6BM0thvEMVjHnfYGF0rmFCozFSxQBxwHKO" 
        crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.7.1.min.js" 
        integrity="sha384-1H217gwSVyLSIfaLxHbE7dRb3v4mYCKbpQvzx0cegeju1MVsGrX5xXxAvs/HgeFs" 
        crossorigin="anonymous"></script>

After (Local files):

<script src="js/bootstrap.bundle.min.js"></script>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.validate.min.js"></script>
<script src="js/additional-methods.min.js"></script>

Testing

  • [x] Local development environment verified
  • [x] Build process tested and working
  • [x] All JavaScript functionality confirmed working with local files
  • [x] Offline functionality validated
  • [x] Documentation commands tested for copy-paste usability

Deployment Impact

βœ… No breaking changes - The application maintains identical functionality while improving performance and reliability. The build process automatically handles dependency management.

This refactoring establishes a more robust foundation for the application by eliminating external dependencies while maintaining all existing functionality.

ranma2913 avatar Oct 03 '25 22:10 ranma2913

@ckabalan Looking for Review on this and a pipeline approval.

ranma2913 avatar Oct 15 '25 15:10 ranma2913

@ranma2913 - I've gone back and forth on whether to internalize these dependencies or not. Have you checked the license compatibility for each of these internalized dependencies to verify we can redistribute as part of our MIT Licensed project? I haven't checked, but if one of those licenses is more restrictive than MIT then we can't re-distribute their code as part of our project. However, we can link to THEIR distribution method and still release our project as MIT.

If this doesn't introduce license issues I'd lean toward internalizing these.

ckabalan avatar Oct 16 '25 15:10 ckabalan

I can verify each license. I'll confirm here.

ranma2913 avatar Oct 16 '25 16:10 ranma2913

|% npx license-checker
β”œβ”€ @playwright/test
β”‚  β”œβ”€ licenses: Apache-2.0
β”‚  β”œβ”€ repository: https://github.com/microsoft/playwright
β”‚  β”œβ”€ publisher: Microsoft Corporation
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/@playwright/test
β”‚  β”œβ”€ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/@playwright/test/LICENSE
β”‚  └─ noticeFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/@playwright/test/NOTICE
β”œβ”€ @popperjs/core
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/popperjs/popper-core
β”‚  β”œβ”€ publisher: Federico Zivolo
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/@popperjs/core
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/@popperjs/core/LICENSE.md
β”œβ”€ @types/node
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/DefinitelyTyped/DefinitelyTyped
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/@types/node
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/@types/node/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/chalk/ansi-styles
β”‚  β”œβ”€ publisher: Sindre Sorhus
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: sindresorhus.com
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/ansi-styles
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/ansi-styles/license
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/caolan/async
β”‚  β”œβ”€ publisher: Caolan McMahon
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/async
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/async/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/jshttp/basic-auth
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/basic-auth
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/basic-auth/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/twbs/bootstrap
β”‚  β”œβ”€ publisher: The Bootstrap Authors
β”‚  β”œβ”€ url: https://github.com/twbs/bootstrap/graphs/contributors
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/bootstrap
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/bootstrap/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ljharb/call-bind
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/call-bind
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/call-bind/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/chalk/chalk
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/chalk
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/chalk/license
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/Qix-/color-convert
β”‚  β”œβ”€ publisher: Heather Arthur
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/color-convert
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/color-convert/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/colorjs/color-name
β”‚  β”œβ”€ publisher: DY
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/color-name
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/color-name/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/agrueneberg/Corser
β”‚  β”œβ”€ publisher: Alexander GrΓΌneberg
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/corser
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/corser/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/visionmedia/debug
β”‚  β”œβ”€ publisher: TJ Holowaychuk
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/debug
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/debug/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ljharb/define-data-property
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/define-data-property
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/define-data-property/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ljharb/es-define-property
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/es-define-property
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/es-define-property/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ljharb/es-errors
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/es-errors
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/es-errors/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/primus/eventemitter3
β”‚  β”œβ”€ publisher: Arnout Kazemier
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/eventemitter3
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/eventemitter3/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/follow-redirects/follow-redirects
β”‚  β”œβ”€ publisher: Ruben Verborgh
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: https://ruben.verborgh.org/
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/follow-redirects
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/follow-redirects/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/fsevents/fsevents
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/fsevents
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/fsevents/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/Raynos/function-bind
β”‚  β”œβ”€ publisher: Raynos
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/function-bind
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/function-bind/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ljharb/get-intrinsic
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/get-intrinsic
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/get-intrinsic/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ljharb/gopd
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/gopd
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/gopd/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/sindresorhus/has-flag
β”‚  β”œβ”€ publisher: Sindre Sorhus
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: sindresorhus.com
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/has-flag
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/has-flag/license
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/inspect-js/has-property-descriptors
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/has-property-descriptors
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/has-property-descriptors/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/inspect-js/has-proto
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/has-proto
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/has-proto/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/inspect-js/has-symbols
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: http://ljharb.codes
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/has-symbols
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/has-symbols/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/inspect-js/hasOwn
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/hasown
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/hasown/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/mathiasbynens/he
β”‚  β”œβ”€ publisher: Mathias Bynens
β”‚  β”œβ”€ url: https://mathiasbynens.be/
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/he
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/he/LICENSE-MIT.txt
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/jsdom/html-encoding-sniffer
β”‚  β”œβ”€ publisher: Domenic Denicola
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: https://domenic.me/
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/html-encoding-sniffer
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/html-encoding-sniffer/LICENSE.txt
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/http-party/node-http-proxy
β”‚  β”œβ”€ publisher: Charlie Robbins
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/http-proxy
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/http-proxy/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/http-party/http-server
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/http-server
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/http-server/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ashtuchkin/iconv-lite
β”‚  β”œβ”€ publisher: Alexander Shtuchkin
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/iconv-lite
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/iconv-lite/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/jquery-validation/jquery-validation
β”‚  β”œβ”€ publisher: JΓΆrn Zaefferer
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: http://bassistance.de
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/jquery-validation
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/jquery-validation/LICENSE.md
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/jquery/jquery
β”‚  β”œβ”€ publisher: OpenJS Foundation and other contributors
β”‚  β”œβ”€ url: https://github.com/jquery/jquery/blob/3.7.1/AUTHORS.txt
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/jquery
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/jquery/LICENSE.txt
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/lodash/lodash
β”‚  β”œβ”€ publisher: John-David Dalton
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/lodash
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/lodash/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/pieroxy/lz-string
β”‚  β”œβ”€ publisher: pieroxy
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/lz-string
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/lz-string/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/broofa/node-mime
β”‚  β”œβ”€ publisher: Robert Kieffer
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: http://github.com/broofa
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/mime
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/mime/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/minimistjs/minimist
β”‚  β”œβ”€ publisher: James Halliday
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: http://substack.net
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/minimist
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/minimist/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/substack/node-mkdirp
β”‚  β”œβ”€ publisher: James Halliday
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: http://substack.net
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/mkdirp
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/mkdirp/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/vercel/ms
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/ms
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/ms/license.md
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/inspect-js/object-inspect
β”‚  β”œβ”€ publisher: James Halliday
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: http://substack.net
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/object-inspect
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/object-inspect/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: (WTFPL OR MIT)
β”‚  β”œβ”€ repository: https://github.com/domenic/opener
β”‚  β”œβ”€ publisher: Domenic Denicola
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: https://domenic.me/
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/opener
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/opener/LICENSE.txt
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: Apache-2.0
β”‚  β”œβ”€ repository: https://github.com/microsoft/playwright
β”‚  β”œβ”€ publisher: Microsoft Corporation
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/playwright-core
β”‚  β”œβ”€ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/playwright-core/LICENSE
β”‚  └─ noticeFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/playwright-core/NOTICE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: Apache-2.0
β”‚  β”œβ”€ repository: https://github.com/microsoft/playwright
β”‚  β”œβ”€ publisher: Microsoft Corporation
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/playwright
β”‚  β”œβ”€ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/playwright/LICENSE
β”‚  └─ noticeFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/playwright/NOTICE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/http-party/node-portfinder
β”‚  β”œβ”€ publisher: Charlie Robbins
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/portfinder
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/portfinder/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: BSD-3-Clause
β”‚  β”œβ”€ repository: https://github.com/ljharb/qs
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/qs
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/qs/LICENSE.md
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/unshiftio/requires-port
β”‚  β”œβ”€ publisher: Arnout Kazemier
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/requires-port
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/requires-port/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/feross/safe-buffer
β”‚  β”œβ”€ publisher: Feross Aboukhadijeh
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: http://feross.org
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/safe-buffer
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/safe-buffer/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ChALkeR/safer-buffer
β”‚  β”œβ”€ publisher: Nikita Skovoroda
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: https://github.com/ChALkeR
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/safer-buffer
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/safer-buffer/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/vdemedes/secure-compare
β”‚  β”œβ”€ publisher: Vadim Demedes
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/secure-compare
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/secure-compare/README.md
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ljharb/set-function-length
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/set-function-length
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/set-function-length/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/ljharb/side-channel
β”‚  β”œβ”€ publisher: Jordan Harband
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/side-channel
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/side-channel/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/chalk/supports-color
β”‚  β”œβ”€ publisher: Sindre Sorhus
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: sindresorhus.com
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/supports-color
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/supports-color/license
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/nodejs/undici
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/undici-types
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/undici-types/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT*
β”‚  β”œβ”€ repository: https://github.com/flatiron/union
β”‚  β”œβ”€ publisher: Charlie Robbins
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/union
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/union/LICENSE
β”œβ”€ [email protected]
β”‚  β”œβ”€ licenses: MIT
β”‚  β”œβ”€ repository: https://github.com/jfromaniello/url-join
β”‚  β”œβ”€ publisher: JosΓ© F. Romaniello
β”‚  β”œβ”€ email: [email protected]
β”‚  β”œβ”€ url: http://joseoncode.com
β”‚  β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/url-join
β”‚  └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/url-join/LICENSE
└─ [email protected]
   β”œβ”€ licenses: MIT
   β”œβ”€ repository: https://github.com/jsdom/whatwg-encoding
   β”œβ”€ publisher: Domenic Denicola
   β”œβ”€ email: [email protected]
   β”œβ”€ url: https://domenic.me/
   β”œβ”€ path: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/whatwg-encoding
   └─ licenseFile: /Users/jsticha/WORK/RIPTiDE/IntelliJ_Workspace/visualsubnetcalc/src/node_modules/whatwg-encoding/LICENSE.txt

ranma2913 avatar Oct 16 '25 16:10 ranma2913

@ranma2913 - I've gone back and forth on whether to internalize these dependencies or not. Have you checked the license compatibility for each of these internalized dependencies to verify we can redistribute as part of our MIT Licensed project? I haven't checked, but if one of those licenses is more restrictive than MIT then we can't re-distribute their code as part of our project. However, we can link to THEIR distribution method and still release our project as MIT.

If this doesn't introduce license issues I'd lean toward internalizing these.

@ckabalan every dependency is either Apache-2.0 or MIT

ranma2913 avatar Oct 16 '25 16:10 ranma2913

@ckabalan just checking in. Is there anything else you would like me to look up?

ranma2913 avatar Oct 23 '25 03:10 ranma2913