open-index/open-npm huggingface dataset:
npm package: @gld5000-cli/gld-regurgitator
Description: Reproduces part of a library in your repository
Author: GLD5000
Latest version: 1.0.13

# [@gld5000-cli/gld-regurgitator](https://www.npmjs.com/package/@gld5000-cli/gld-regurgitator)

Reproduces part of a library in your repository

## Install

```
npm i -D @gld5000-cli/gld-regurgitator
```

## Example Usage

### Import (.mjs)

```
import * as gldRegurgitator from '@gld5000-cli/gld-regurgitator'
```

### Example Input

```
Add your code here...
```

### Example Output

```
Add your code here...
```

## Update

```
npm update @gld5000-cli/gld-regurgitator
```

## Uninstall

```
npm uninstall @gld5000-cli/gld-regurgitator
```

## Execute Directly from NPM 

```
npx @gld5000-cli/gld-regurgitator
```

## License

MIT License

Copyright (c) 2025 Gareth L Devlin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @gld5000-cli/image-scripts
Description: A useful collection of image processing scripts
Author: GLD5000
Latest version: 1.0.23

# [@gld5000-cli/image-scripts](https://www.npmjs.com/package/@gld5000-cli/image-scripts)

A useful collection of image processing scripts

## Install

```
npm i -D @gld5000-cli/image-scripts
```

## Example Usage

### Import (.mjs)

```
import * as imageScripts from '@gld5000-cli/image-scripts'
```

### Example Input

```
Add your code here...
```

### Example Output

```
Add your code here...
```

## Update

```
npm update @gld5000-cli/image-scripts
```

## Uninstall

```
npm uninstall @gld5000-cli/image-scripts
```

## Execute Directly from NPM 

```
npx @gld5000-cli/image-scripts
```

## License

MIT License

Copyright (c) 2025 Gareth L Devlin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @gld5000-cli/npm-init
Description: A CLI app to update your package.json and README.md ready for publishing on NPM
Author: GLD5000
Latest version: 1.0.11

# [@gld5000-cli/npm-init](https://www.npmjs.com/package/@gld5000-cli/npm-init)

A CLI app to update your package.json and README.md ready for publishing on NPM

## Install

```
npm i -D @gld5000-cli/npm-init
```

## Example Usage

### Import (.mjs)

```
import * as npmInit from '@gld5000-cli/npm-init'
```

### Example Input

```
npx @gld5000-cli/npm-init
```

### Example Output

```
This utility will walk you through creating a README.md file for your NPM package.

It only covers some useful items, and uses your package.json to generate defaults.

Press ^C at any time to quit.


Replace existing README (or append)?: (y) n
Header: (# [@gld5000-cli/npm-init](https://www.npmjs.com/package/@gld5000-cli/npm-init))
Install: (npm i -D @gld5000-cli/npm-init)
Import: (import * as npmInit from '@gld5000-cli/npm-init')
```

## Update

```
npm update @gld5000-cli/npm-init
```

## Uninstall

```
npm uninstall @gld5000-cli/npm-init
```

## Execute Directly from NPM

```
npx @gld5000-cli/npm-init
```

## License

MIT License

Copyright (c) 2025 Gareth L Devlin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @gld5000-cli/npx-demo
Description: A hello world style demo of using NPX within an NPM package
Author: GLD5000
Latest version: 1.0.1

# npx-demo

This repo is a simple demo of how to implement NPX functionality within an NPM package.

## Test it out

Hello world:

`npx @gld5000-cli/npx-demo`

Hello user (passing a variable):

`npx @gld5000-cli/npx-demo --name "your user name"`

## Create your own

- ### Create a repo
  E.G. npx-demo
- ### Create a function

```
  mkdir src
  touch src/index.js

```

```src/index.js
module.exports = function run(name) {
  if (name) {
    console.log(`Hello, ${name}`);
  } else {
    console.log('Hello World');
  }
};
```

- ### Create a bin

```
mkdir bin
touch bin/npxDemo.js
```

```bin/npxDemo.js
#!/usr/bin/env node

function getNameArg() {
  const args = process.argv.slice(2);

  // --name=Alice
  const eqArg = args.find(arg => arg.startsWith('--name='));
  if (eqArg) {
    return eqArg.split('=')[1];
  }

  // --name Alice
  const nameIndex = args.indexOf('--name');
  if (nameIndex !== -1 && args[nameIndex + 1]) {
    return args[nameIndex + 1];
  }

  return null;
}

const name = getNameArg();

require('../src/index')(name);

```

- ### Make the bin file executable across operating systems

```
chmod +x bin/npxDemo.js
```

- ### Publish your NPM package

```
npm publish --access public
```

- ### Test it out

```
npx @gld5000-cli/npx-demo
```
npm package: @gld5000-cli/readline
Description: Easy to use readline functions for interactive CLI scripts
Author: GLD5000
Latest version: 1.0.6

# [gld-readline](https://www.npmjs.com/package/@gld5000-cli/readline)

Easy to use readline functions for interactive CLI Node.js scripts

## Example usage

### Install

```
npm i -D @gld5000-cli/readline
```

### Import (.mjs)

```
import { selectLineFromStringArray, answerStringQuestion } from '@gld5000-cli/readline';
```

### Select a line from a string array

```
const lines = ["Line one", "Line two", "Line three"];
const selectedLine = await selectLineFromStringArray(lines, 2, "Choose Default");
console.log('selectedLine:', selectedLine);
```

### Ask a question with a string answer (mandatory)

```
const stringAnswer = await answerStringQuestion('Enter file path:')
console.log('stringAnswer:', stringAnswer);
```
npm package: @gld5000-cli/script-selector
Description: Builds a CLI menu to select and run your NPM package.json scripts
Author: GLD5000
Latest version: 1.1.11

# script-selector

Builds a CLI menu to select and run your NPM package.json scripts

## Install

```
npm i -D @gld5000-cli/script-selector
```

## Example Usage

### Import (.mjs)

```
import { runSelector } from '@gld5000-cli/script-selector'
```

### Run Script Selector

```
runSelector();
```

### Example package.json scripts (input)

```
"scripts": {
    "//batch:renamer": "Batch rename images to e.g. de-duplicate file names based on parent folders",
    "batch:renamer": "clear && node src/utils/file-scripts/imageProcessing/batchRename.mjs",
    "//image:object": "Create TypeScript image object files for use in codebase",
    "image:object": "clear && node src/utils/file-scripts/imageProcessing/batchImageObject.mjs",
    "//image:normalise": "Process images, converting png to jpg and appending dimensions to filenames ready for upload to SFCC",
    "image:normalise": "clear && node src/utils/file-scripts/imageProcessing/batchJpg.mjs",
    "//image:normalise:resize-even": "Resizes images to even sizes, converting png to jpg and appending dimensions to filenames ready for upload to SFCC",
    "image:normalise:resize-even": "clear && node src/utils/file-scripts/imageProcessing/batchJpgEven.mjs",
    "//frames-folder-animate-single": "Process one folder of images, converting png, jpg etc. to animated webp and mp4",
    "frames-folder-animate-single": "clear && node src/utils/file-scripts/imageProcessing/batchWebp.mjs",
    "//frames-folder-animate-multi": "Process multiple folders of images, converting png, jpg etc. to animated webp and mp4",
    "frames-folder-animate-multi": "clear && node src/utils/file-scripts/imageProcessing/batchWebpMulti.mjs"
  },
```

### Example Output

```
1. batch:renamer: Batch rename images to e.g. de-duplicate file names based on parent folders
2. image:object: Create TypeScript image object files for use in codebase
3. image:normalise: Process images, converting png to jpg and appending dimensions to filenames ready for upload
4. image:normalise:resize-even: Resizes images to even sizes, converting png to jpg and appending dimensions to filenames ready for upload
5. frames-folder-animate-single: Process one folder of images, converting png, jpg etc. to animated webp and mp4
6. frames-folder-animate-multi: Process multiple folders of images, converting png, jpg etc. to animated webp and mp4

Enter line number to select (default is batch:renamer: Batch rename images to e.g. de-duplicate file names based on parent folders):
```

## Supported Commands

- clear
- echo
- node [file]

### E.G.:

```
"clear && echo 'Hello' && node test.mjs"
```

## Update

```
npm update @gld5000-cli/script-selector
```

## Uninstall

```
npm uninstall @gld5000-cli/script-selector
```

## Execute Directly from NPM

```
npx @gld5000-cli/script-selector
```
npm package: @gld5000-js/countdown
Description: A simple, lightweight countdown timer to a given deadline
Author: GLD5000
Latest version: 1.0.22

# [@gld5000-js/countdown](https://www.npmjs.com/package/@gld5000-js/countdown)

A simple, lightweight countdown timer to a given deadline

## Install

```
npm i @gld5000-js/countdown
```

## Example Usage

### Import (.mjs)

```
import * as countdown from '@gld5000-js/countdown'
```

### Example Input

```
const timeString = "2025-08-18 20:51";
const timer = countdown.makeTimer(timeString);

setInterval(() => {
  console.log("Remaining: ", timer());
}, 1000);
```
console.log(countdown.countdownString)
### Example Output

```
Remaining:  { days: 34, hours: 12, minutes: 13, seconds: 3 }
Remaining:  { days: 34, hours: 12, minutes: 13, seconds: 2 }
Remaining:  { days: 34, hours: 12, minutes: 13, seconds: 1 }
Remaining:  { days: 34, hours: 12, minutes: 13, seconds: 0 }
Remaining:  { days: 34, hours: 12, minutes: 12, seconds: 59 }
Remaining:  { days: 34, hours: 12, minutes: 12, seconds: 58 }
Remaining:  { days: 34, hours: 12, minutes: 12, seconds: 57 }
Remaining:  { days: 34, hours: 12, minutes: 12, seconds: 56 }

function getUnitsRemaining(deadlineMs) {
  const secondsRemaining = getSecondsRemaining(deadlineMs);
  if (secondsRemaining < 1)
    return {
      days: 0,
      hours: 0,
      minutes: 0,
      seconds: 0,
    };
  const seconds = secondsRemaining % 60;
  const minutes = Math.floor((secondsRemaining / 60) % 60);
  const hours = Math.floor(secondsRemaining / 60 / 60) % 24;
  const days = Math.floor(secondsRemaining / 60 / 60 / 24);
```

## Update

```
npm update @gld5000-js/countdown
```

## Uninstall

```
npm uninstall @gld5000-js/countdown
```

## License

MIT License

Copyright (c) 2025 Gareth L Devlin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @gld5000-react/countdown-banner
Description: A countdown banner for React
Author: GLD5000
Latest version: 0.0.3

# [@gld5000-react/countdown-banner](https://www.npmjs.com/package/@gld5000-react/countdown-banner)

A countdown banner for React

## Install

```
npm i -D @gld5000-react/countdown-banner
```

## Example Usage

### Import (.mjs)

```
import {CountdownBanner} from '@gld5000-react/countdown-banner'
```

### Example Input

```
<CountdownBanner/>
```

## Update

```
npm update @gld5000-react/countdown-banner
```

## Uninstall

```
npm uninstall @gld5000-react/countdown-banner
```


## License

MIT License

Copyright (c) 2025 Gareth L Devlin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @gld5000-react/plp-headers
Description: A selection of PLP type header sections for your UI library
Author: GLD5000
Latest version: 1.0.28

# [@gld5000-react/plp-headers](https://www.npmjs.com/package/@gld5000-react/plp-headers)

A selection of PLP type header sections for your UI library

## Install

```
npm i -D @gld5000-react/plp-headers
```

## Example Usage

### Import (.mjs)

```
import * as plpHeaders from '@gld5000-react/plp-headers'
```

### Example Input

```
Add your code here...
```

### Example Output

```
Add your code here...
```

## Update

```
npm update @gld5000-react/plp-headers
```

## Uninstall

```
npm uninstall @gld5000-react/plp-headers
```


## License

MIT License

Copyright (c) 2025 Gareth L Devlin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @gld5000-react/vite-lib
Description: A Vite React TS UI Library template
Author: GLD5000
Latest version: 0.0.0

# React + TypeScript + Vite
## [Library mode docs](https://vitejs.dev/guide/build.html#library-mode)
## [lib mode docs](https://vitejs.dev/config/build-options.html#build-lib)
## [Vite .d.ts plugin docs](https://github.com/qmhc/unplugin-dts)
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

```js
export default tseslint.config([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      ...tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      ...tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      ...tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])
```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default tseslint.config([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])
```
npm package: @gld5000k/timestamp
Description: A simple timestamp maker for use in e.g. CLI node.js scripts
Author: GLD5000
Latest version: 1.0.9

# [gld-timestamp](https://www.npmjs.com/package/@gld5000k/timestamp)

A simple timestamp maker for use in e.g. CLI Node.js scripts

## Example usage

### Install

```
npm i -D @gld5000k/timestamp
```

### Import (.mjs)

```
import  { getTimestamp, logTimestampArrow, logTimestamp } from '@gld5000k/timestamp';
```

### Return timestamp no arrow

```
const timestamp = getTimestamp();
```

### Log timestamp with arrow

```
logTimestampArrow('Starting');
```

### Log timestamp no arrow

```
LogTimestamp('Stopping');
```

## Console Output

### With Arrow

```
* * * *
* * * *
* * * *
* * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
Starting 2025_07_06T16_26_38_102Z
```

### No Arrow

```
Stopping 2025_07_06T16_26_38_109Z
```