Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lots of features #17

Open
wants to merge 141 commits into
base: master
Choose a base branch
from
Open

Lots of features #17

wants to merge 141 commits into from

Commits on Aug 7, 2019

  1. Configuration menu
    Copy the full SHA
    204280b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d5caa21 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2019

  1. 🐛 Fix bug where frame is undefined

    setFrames() now sets this.currentFrameIndex = 0;
    
    Logs are a thing now.
    
    Use: spinnies.addLog(log); to add a log.
    
    Then just use spinnies.log() or spinnies.getLogs();
    SweetMNM committed Aug 8, 2019
    Configuration menu
    Copy the full SHA
    8cbe1a6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1b9b5e8 View commit details
    Browse the repository at this point in the history
  3. :feelsgood: Fix README indentation

    SweetMNM committed Aug 8, 2019
    Configuration menu
    Copy the full SHA
    2b51b29 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2019

  1. 🎆 Word-wrap is used for multiple lines

    wordwrapjs library is used to break text.
    
    Each line after the first line get's indented using the prefixLength.
    SweetMNM committed Aug 9, 2019
    Configuration menu
    Copy the full SHA
    4ddc50e View commit details
    Browse the repository at this point in the history
  2. 🎐 Add support for the 'indent' option

    breakText, indentText and getLinesLength were modified to handle the indent option.
    
    Each line in a mutli-line text spinner will be indented as well.
    
    See:
    jbcarpanelli#14
    rap2hpoutre/taskz#3
    jbcarpanelli#15
    SweetMNM committed Aug 9, 2019
    Configuration menu
    Copy the full SHA
    4df6cd4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    af8b280 View commit details
    Browse the repository at this point in the history
  4. 🪲 Fix bug where spinner would change status to 'spinning'

    If you tried to update a spinner using spinners.update(), and the status of the spinner was anything but spinning (succeed, fail, stopped, unspinnable), the spinner would automatically be thrown into spinning mode.
    
    Reason is:
    `status = status || 'spinning';`
    Will make the status default to spinning if not specified.
    SweetMNM committed Aug 9, 2019
    Configuration menu
    Copy the full SHA
    4e16b50 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2019

  1. ❇️ Each spinner now has it's own instance

    Code is now cleaner and easier to work on.
    
    It's now clear that the spinners instance takes care of loops, rendering, etc..
    
    And each spinner takes care of what to render.
    
    Also this gives us to ability to do stuff like:
    const spinnies = new Spinnies();
    const spinner1 = spinnies.add('spinner-1', { text: 'Hello! I am the initial text', color: 'green' });
    // some code
    spinnies.fail('spinner-1');
    // same as
    spinnies.get('spinner-1').fail();
    // same as
    spinner1.fail();
    SweetMNM committed Aug 10, 2019
    Configuration menu
    Copy the full SHA
    f1cdc2b View commit details
    Browse the repository at this point in the history
  2. 🐣 create childFuction

    spinners.childFunction(spinnerName, action, ...args) - will call a function on a child spinner.
    childFunction will also verify spinnerName is a string and the spinner was initialized.
    
    Before:
      succeed(name, options = {}) {
        const spinner = this.get(name);
        spinner.succeed(options);
        return spinner;
      }
    After:
      succeed(name, options = {}) {
        return this.childFuction(name, 'succeed', options);
      }
    SweetMNM committed Aug 10, 2019
    Configuration menu
    Copy the full SHA
    78b6bff View commit details
    Browse the repository at this point in the history
  3. 💎 Create demo-using-get.js

    `examples/demo.js` -
    Uses the syntax:
    spinners.update(spinnerName, options);
    
    `examples/demo-using-get`
    Uses the syntax:
    spinners.get(spinnerName).update(options);
    SweetMNM committed Aug 10, 2019
    Configuration menu
    Copy the full SHA
    09e5736 View commit details
    Browse the repository at this point in the history
  4. ✅ Fix tests

    Fix the tests that were broken by giving each spinner it's own instance.
    
    Must of the fixes involves changing:
    `spinner.optionNameHereLikeStatus`
    To:
    `spinner.options.optionNameHereLikeStatus`
    
    Since function now return the spinner's instance and not the spinner's options.
    SweetMNM committed Aug 10, 2019
    Configuration menu
    Copy the full SHA
    b32cdb0 View commit details
    Browse the repository at this point in the history
  5. ✅ Fix breakText test

    SweetMNM committed Aug 10, 2019
    Configuration menu
    Copy the full SHA
    649f077 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2019

  1. Configuration menu
    Copy the full SHA
    2bf3c25 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    135ea79 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    21783d3 View commit details
    Browse the repository at this point in the history
  4. 🐝 Fix errors

    Mostly syntax errors.
    SweetMNM committed Aug 11, 2019
    Configuration menu
    Copy the full SHA
    cf83a55 View commit details
    Browse the repository at this point in the history
  5. 🎊 Rename setStatus to configureStatus

    setStatus might make the user think he is setting the spinner's status and not adding/modifying the status.
    
    Note: statuses are still not implemented in any way shape or form.
    SweetMNM committed Aug 11, 2019
    Configuration menu
    Copy the full SHA
    ced70d7 View commit details
    Browse the repository at this point in the history
  6. 🍓 Add rawRender option for stasus

    Better support for CI and static render.
    
    Not implementetd yet.
    SweetMNM committed Aug 11, 2019
    Configuration menu
    Copy the full SHA
    342295d View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2019

  1. ®️ Create status registry

    ... To share and update statuses with all spinners and the main spinners instance.
    SweetMNM committed Aug 12, 2019
    Configuration menu
    Copy the full SHA
    db45b13 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2019

  1. 📰 Document statuses

    Some parts of the docs are plans for the future (next commit), like spinner.status();
    SweetMNM committed Aug 13, 2019
    Configuration menu
    Copy the full SHA
    97cee6a View commit details
    Browse the repository at this point in the history
  2. 🏊 Improve statuses

    Create statusOptionsFromNormalUpdate and statusOverrides.
    SweetMNM committed Aug 13, 2019
    Configuration menu
    Copy the full SHA
    75c4b4a View commit details
    Browse the repository at this point in the history
  3. ✅ Add tests

    Write tests for purgeStatusOptions and statusOptionsFromNormalUpdate.
    
    Fix error with statusOptionsFromNormalUpdate, where `color` is undefined.
    SweetMNM committed Aug 13, 2019
    Configuration menu
    Copy the full SHA
    58646e6 View commit details
    Browse the repository at this point in the history
  4. ✅ Create tests

    Write tests for StatusRegistry.
    
    Fix bug with purgeStatusOptions.
    isStatic and noSpaceAfterPrefix would default to false when existing status would update.
    SweetMNM committed Aug 13, 2019
    Configuration menu
    Copy the full SHA
    6c9f6f0 View commit details
    Browse the repository at this point in the history
  5. 🗽 Create status function

    Create `status` function.
    
    If status is undefined or not a string the status will not be modified...
    TODO: should this throw an error?
    
    options now get passed to statusOptionsFromNormalUpdate, on update.
    SweetMNM committed Aug 13, 2019
    Configuration menu
    Copy the full SHA
    7e2d799 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2019

  1. ✅ Add tests

    Write tests that test spinner modify functions with spinners.get('name').
    
    Fix README.md indent.
    
    Fix statusOptionsFromNormalUpdate, it now sets the textColor option for fail and succeed statuses.
    
    statusOptionsFromNormalUpdate will run before the spinner options were purged, in spinner.update(). Which is why it will also check types.
    It fixes the issue where failPrefix and succeedPrefix options will be purged and not apply for the statusOverride.
    
    Fix the tests for statusOptionsFromNormalUpdate, to match the changes to statusOptionsFromNormalUpdate.
    SweetMNM committed Aug 15, 2019
    Configuration menu
    Copy the full SHA
    aa51e0e View commit details
    Browse the repository at this point in the history
  2. ✅ Fix tests and EOL issues on windows

    Tests for purgeSpinnersOptions will now check against the platformDefaultSpinner instead of defaulting to dots. This fixed the tests for platforms that don't support unicode.
    
    In everyplace a '\n' was used it was replaced with os.EOL, fixes tests on windows + prevent future problems.
    SweetMNM committed Aug 15, 2019
    Configuration menu
    Copy the full SHA
    c5dd46a View commit details
    Browse the repository at this point in the history
  3. 🌙 Add tests for spinnies.status()

    Using behaviours.test.js-expectToBehaveLikeAStatusChange to easily test for status changes.
    SweetMNM committed Aug 15, 2019
    Configuration menu
    Copy the full SHA
    7063d74 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2019

  1. Configuration menu
    Copy the full SHA
    f69cc53 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e2775ba View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2019

  1. 🍓 spinnie.rawRender()

    Create the rawRender method on the spinnie class. It will try to get a rawRender function from the current status and default to rendering the prefix with the text.
    
    rawRender on the status options should take care of the coloring. While everything else like indent and breaking text will be applied by the spinnie.rawRender method.
    
    Status option overrides will now apply on creation and not only when a spinner is updated.
    
    update statusOptionsFromNormalUpdate to update based on the spinnerColor option.
    
    prefixColor and spinnerColor will default to cyan instead of greenBright.
    
    Note: setRawStreamOutput is not the final form of CI/not-spinning rendering.
    SweetMNM committed Aug 17, 2019
    Configuration menu
    Copy the full SHA
    e719068 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d75eb35 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2019

  1. 🍀 Fix status override

    Status overrides will merge with previous status overrides.
    
    Write tests for this.
    
    FIx the tests that were broken by the changes to statusOptionsFromNormalUpdate in #e719068
    SweetMNM committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    755d2ec View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    be81daf View commit details
    Browse the repository at this point in the history
  3. 🏀 Throw new Errors.

    Just to keep a consistent code style...
    SweetMNM committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    12bd7ac View commit details
    Browse the repository at this point in the history
  4. 👾 Add a space after each if statement

    Consistency is key.
    
    (should we add prettier?)
    SweetMNM committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    29fc274 View commit details
    Browse the repository at this point in the history
  5. ⏪ spinnies.remove() will check that 'name' is a string

    It will throw an error if it's not.
    SweetMNM committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    1f2f0f6 View commit details
    Browse the repository at this point in the history
  6. 🚗 Write tests for the 'remove' method

    The tests will make sure the spinner is deleted from the spinners object and also that we don't listen to events from that spinner anymore. Incase we still have a refrence to a spinner after we deleted it and we call spinner.update() for example we shouldn't reload everything...
    
    The listeners part is testedd using the 'sinon' library and sinon.spy();
    
    (should we add more spy and mock tests using sinon?)
    SweetMNM committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    aea3295 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2019

  1. Configuration menu
    Copy the full SHA
    955ebf5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4aac332 View commit details
    Browse the repository at this point in the history
  3. ❗ Use 'signal-exit' instead of binding sigint

    This way we bind all possible exit events including process.exit().
    
    cli-cursor will automatically show the cursor so there is no need to manually do it.
    
    When the spinnies instance is done spinning it will unbind the exit event.
    SweetMNM committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    a634f33 View commit details
    Browse the repository at this point in the history
  4. ®️ Replace os.EOL with regex

    A regex to match all line breaks is used instead of os.EOL when splitting strings.
    SweetMNM committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    4f56272 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    390d1c9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5f72cc0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    fa37d7f View commit details
    Browse the repository at this point in the history
  8. 🐶 Implement custom statuses!!!! (Finally)

    Yay :D
    
    Also fix a typo where 'grey' was used instead of 'gray'.
    SweetMNM committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    5978e6e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b9bd15d View commit details
    Browse the repository at this point in the history
  10. 👽 Create aliasChildMethod

    aliasChildMethod is used instead of manually setting each function.
    
    spinnies.get() will now check that that spinner exists.
    
    #remove tests were changed to work with the changes to spinnies.get()
    SweetMNM committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    ba0b213 View commit details
    Browse the repository at this point in the history
  11. :finnadie: Fix stopAll() tests that were broken by custom statuses

    The tests no longer check if the color option was changed since it doesn't modify it.
    
    If a status that doesn't exists is passed to stopAll() it will default to 'stopped' instead of 'spinning'.
    SweetMNM committed Aug 25, 2019
    Configuration menu
    Copy the full SHA
    faf428d View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2019

  1. 🐺 Implement the use of spinner.statusName()

    Hooray!
    
    So how is this done?
    StatusRegistry now extends EventEmitter and emits an event name 'statusAdded' whenever you add a status.
    The main spinnies instance will listen to that event and loop the spinners and use aliasStatusAsMethod to alias that status. It will also use aliasChildMethod to alias spinnies.statusName('spinnerName') to spinnies.get('spinnerName').statusName().
    
    Each spinner will use aliasStatusAsMethod on initialization for each of the statuses (and aliases) in the statusRegistry.
    
    TODO: write tests
    SweetMNM committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    d11f07a View commit details
    Browse the repository at this point in the history
  2. 🆙 Update README

    Since spinnie.update() checks if you only update the status and if you do it uses the spinnie.status() method it doesn't matter if you use method 2.
    SweetMNM committed Aug 26, 2019
    Configuration menu
    Copy the full SHA
    d399883 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2019

  1. 📌 Create purgeOptions.js to purge options

    Purging functions like purgeSpinnersOptions, purgeSpinnerOptions and purgeStatusOptions should use this.
    
    This provides better readability and much easier to add options. It will delete unknown props and make sure all props are valid using a set of rules passed to it.
    
    Example:
    
    const purged = purgeOptions({
      status: type('string'),
      color: isValidColor,
      light: oneOf(['green', 'yellow', 'red']),
      custom: (value) => returnTrueToKeepAndFalseToRemove(value),
      numberOrString: some([
        type('string'),
        type('number')
      ])
    });
    SweetMNM committed Aug 27, 2019
    Configuration menu
    Copy the full SHA
    15b6d1f View commit details
    Browse the repository at this point in the history
  2. 🍞 Remove VALID_STATUSES

    Also fix a bug where purgeSpinnerOptions will purge custom statuses.
    
    Fix some tests that were broken by custom statuses and only noticed when VALID_STATUSES was remove.
    SweetMNM committed Aug 27, 2019
    Configuration menu
    Copy the full SHA
    52b2967 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    edc07e7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    64bf24d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3a284d0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    245b70b View commit details
    Browse the repository at this point in the history
  7. ✅ Write tests

    Create tests for the isStatic and noSpaceAfterPrefix options in purgeStatusOptions.
    SweetMNM committed Aug 27, 2019
    Configuration menu
    Copy the full SHA
    7533a34 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2019

  1. ✅ Write tests for assertion helpers

    I think it's a bit overkill but what ever.
    SweetMNM committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    6f8759f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8b966b5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    86fef3f View commit details
    Browse the repository at this point in the history
  4. 🍓 Improve rendering in CI

    updateSpinnerState is passed a spinner name when a spinner is updated then instead of spitting out all of the spinners it will only print this one.
    SweetMNM committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    7871f83 View commit details
    Browse the repository at this point in the history
  5. 🐕 Add done option to statuses

    README says it all:
    
    - **isDone** - `booolean`: By default statuses are treated as 'done'
      if the `isStatic` option is `true`. For example statuses like success, fail and stopped are treated as done, while the *spinning* is not treated as 'done'.
      Whenever a status of a spinner is treated as 'done' spinnies will know
      to complete that spinner and to stop spinning when ever all spinners are done.
      By default any *static* status with `isStatic` set to true will also be treated as 'done'. This option is rarely ever used since the default behavior suits most statuses. This is good for example if we want to create a **pending** status. The pending status can be good for tasks that will be executed in the future but are not running yet. We don't want spinnies the think a spinner with the **pending** status is 'done' but we also don't want a spinner with a **pending** status to spin.
    SweetMNM committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    9c7fc1a View commit details
    Browse the repository at this point in the history
  6. 🆙 Update README.md

    Mostly typos...
    SweetMNM committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    911f00a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4101d12 View commit details
    Browse the repository at this point in the history
  8. Update README.md

    SweetMNM committed Aug 28, 2019
    Configuration menu
    Copy the full SHA
    ec5867e View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2019

  1. Update README.md

    SweetMNM committed Aug 29, 2019
    Configuration menu
    Copy the full SHA
    3d087c3 View commit details
    Browse the repository at this point in the history
  2. Update README.md

    Fix link.
    SweetMNM committed Aug 29, 2019
    Configuration menu
    Copy the full SHA
    dae6bd5 View commit details
    Browse the repository at this point in the history
  3. Update README.md

    Fix header name.
    SweetMNM committed Aug 29, 2019
    Configuration menu
    Copy the full SHA
    63efe63 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2019

  1. ⚠️ ℹ️ Create warn and info statuses

    Support for using `warnPrefix`, `warnColor`, `infoPrefix` and `infoColor` options.
    SweetMNM committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    d755ea9 View commit details
    Browse the repository at this point in the history
  2. ✅ Write tests

    Add tests for the new warn and info statuses.
    SweetMNM committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    ca92d98 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a0e9042 View commit details
    Browse the repository at this point in the history
  4. ✅ Write tests

    Add tests for the indent option.
    SweetMNM committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    a893d5b View commit details
    Browse the repository at this point in the history
  5. 🌺 Spinners can be hidden

    Hooray!
    
    Use spinner.hidden(bool) to set hidden to true or false.
    Also use spinner.hide() and spinner.show() for convenience.
    
    Note: ignore the demo for now, it just became a bit of a mess while testing features...
    SweetMNM committed Aug 30, 2019
    Configuration menu
    Copy the full SHA
    f436192 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2019

  1. ✅ Write tests

    Add tests for the 'hidden' option, spinner.hidden(), spinner.hide() and spinner.show().
    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    7827cba View commit details
    Browse the repository at this point in the history
  2. 🔆 Update README

    Add the hidden option, hidden(), hide() and show() to README
    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    fd39320 View commit details
    Browse the repository at this point in the history
  3. ⬆️ Update README

    Explain how some methods can be called on the main spinnies instance and on the individual spinner instance.
    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    5a0a219 View commit details
    Browse the repository at this point in the history
  4. ⬆️ Update README

    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    7253bb1 View commit details
    Browse the repository at this point in the history
  5. ⬆️ Update README

    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    607d893 View commit details
    Browse the repository at this point in the history
  6. ⬆️ Update README

    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    51312ce View commit details
    Browse the repository at this point in the history
  7. ⬆️ Update README

    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    eb5509c View commit details
    Browse the repository at this point in the history
  8. ⬆️ Update README

    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    66a78df View commit details
    Browse the repository at this point in the history
  9. ⬆️ Update README

    Update the Installation section to include instructions for installing with yarn.
    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    e5ba280 View commit details
    Browse the repository at this point in the history
  10. ⬆️ Update README

    Update 'Usage & Example' section.
    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    f69cc03 View commit details
    Browse the repository at this point in the history
  11. 👾 Update demo

    Demo shows all default statuses, Indented spinner, removing a spinner, multiline spinner and changing the spinner animation.
    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    ce86bd4 View commit details
    Browse the repository at this point in the history
  12. 🎁 Add demo.gif

    Generated using terminalizer.
    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    2815120 View commit details
    Browse the repository at this point in the history
  13. Update demo.gif

    SweetMNM committed Aug 31, 2019
    Configuration menu
    Copy the full SHA
    cddb399 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2019

  1. 🍵 Create the 'text' method

    The text method changes the text of a spinner.
    
    Demo.js now uses the text method.
    SweetMNM committed Sep 1, 2019
    Configuration menu
    Copy the full SHA
    4dcc522 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    af12c21 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b596e41 View commit details
    Browse the repository at this point in the history
  4. 📇 Create the 'text' method

    The indent method sets the indent of a spinner.
    SweetMNM committed Sep 1, 2019
    Configuration menu
    Copy the full SHA
    4d85dd5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6a2d7f8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    544e185 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7a9faba View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    11b33b4 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8098ecc View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3f0775e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    167d383 View commit details
    Browse the repository at this point in the history
  12. Update README.md

    SweetMNM committed Sep 1, 2019
    Configuration menu
    Copy the full SHA
    14ea00c View commit details
    Browse the repository at this point in the history
  13. Update README.md

    Fix wordwrapjs link.
    
    Change emoji for stopped status
    SweetMNM committed Sep 1, 2019
    Configuration menu
    Copy the full SHA
    9b3d538 View commit details
    Browse the repository at this point in the history
  14. 🎪 Improve CI detection

    Thanks to a code snippet taken from the 'ci-info' package.
    
    (Should spinnies use the 'ci-info' package directly?)
    SweetMNM committed Sep 1, 2019
    Configuration menu
    Copy the full SHA
    0e50ebd View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2019

  1. Delete demo-using-get.js

    SweetMNM authored Sep 2, 2019
    Configuration menu
    Copy the full SHA
    4f25d94 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2019

  1. 🍴 breakText will force break if needed

    It's better for a url/file path/super long word to break if it can't be wrapped instead of the entire cli program to break. That's what the break option in wordwrapjs is for.
    SweetMNM committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    696fa73 View commit details
    Browse the repository at this point in the history
  2. 🅱️ Create the 'bind' method

    Pass a promise to 'bind'.
    
    If that promise resolves it will succeed the spinner with an optional success message.
    
    If that promise rejects it will fail the spinner with an optional error message.
    
    This is a very basic implementation of the bind method.
    It should be able to handle an observable and to format error messages if an error is passed.
    SweetMNM committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    07df6e0 View commit details
    Browse the repository at this point in the history
  3. 💯 A promise passed to 'bind' can now reject with an error

    The error is formated and used as the spinner's text.
    SweetMNM committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    ac7cc6d View commit details
    Browse the repository at this point in the history
  4. 🌈 Colors like prefixColor, spinnerColor and textColor can now be false

    To let the user color the text and prefix how they want.
    
    render and rawRender on the Spinnie instance were modified to check if the color exists and only if it is color the prefix.
    
    `false` was added to the list of valid colors.
    SweetMNM committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    5132428 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    423699d View commit details
    Browse the repository at this point in the history
  6. :goberserk: You can now pass an observable to 'bind'

    subscriber.next() will update the spinner text.
    
    subscriber.complete() will succeed
    
    subscriber.error(err) will fail the spinner with an optional error.
    SweetMNM committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    d1f8f49 View commit details
    Browse the repository at this point in the history
  7. ✅ Write tests

    Add tests for the 'bind' method.
    SweetMNM committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    2cd3bc2 View commit details
    Browse the repository at this point in the history
  8. ☔ Update tests

    Create a test for #breakText passing a really long word and making sure it breaks that word.
    SweetMNM committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    4e9ae9d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    dd0fbc5 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3995d67 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    8dbdf02 View commit details
    Browse the repository at this point in the history
  12. Update README.md

    SweetMNM committed Sep 4, 2019
    Configuration menu
    Copy the full SHA
    ca88f39 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2019

  1. 📶 Use this.stream instead of process.stderr

    breakText now takes a stream as the last argument.
    
    stream is also passed to each spinner child so it can correctly break text.
    SweetMNM committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    47a4ae3 View commit details
    Browse the repository at this point in the history
  2. 📏 Implement stream option

    Pass custom stream to spinnies.
    
    For examples you could pass `process.stdout`.
    SweetMNM committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    872973b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f2fd208 View commit details
    Browse the repository at this point in the history
  4. Update README.md

    Fix stream option position.
    SweetMNM committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    9ec3db9 View commit details
    Browse the repository at this point in the history
  5. 🔗 LinesLength is checked after the prefix is added

    This makes it less confusing than it was before.
    
    Instead of measuring the text without the prefix and adding the prefix length to the first line length getLinesLengh will simply map each line to it's length.
    SweetMNM committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    d457d7f View commit details
    Browse the repository at this point in the history
  6. 🍂 LinesLength is measured in setStreamOutput

    Since the `render` method no longer needs to measure the linesLength before adding the prefix it makes sense for setStreamOutput to do it. That way `render` only renders the line.
    SweetMNM committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    b9941bd View commit details
    Browse the repository at this point in the history
  7. ✅ Fix tests

    The tests for the breakText util were broken by the recent changes that required a stream to be passed to `breakText`.
    SweetMNM committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    bbd8959 View commit details
    Browse the repository at this point in the history
  8. 🔒 Remove the docs for log and getLogs

    Since no debug logs are logged by the spinnies instance (atm) it seems pointless to mention those methods in the readme.
    
    Logs are still very useful for debugging spinnies when adding new features/modifying existing once.
    SweetMNM committed Sep 12, 2019
    Configuration menu
    Copy the full SHA
    bcb0666 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2020

  1. Configuration menu
    Copy the full SHA
    f49129f View commit details
    Browse the repository at this point in the history
  2. 📣 Update readme

    SweetMNM committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    0c9a5d9 View commit details
    Browse the repository at this point in the history
  3. 🔵 Update CircleCI config

    SweetMNM committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    851db18 View commit details
    Browse the repository at this point in the history
  4. 🔵 Update CircleCI config

    SweetMNM committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    e53cd38 View commit details
    Browse the repository at this point in the history
  5. 🌆 Fix type

    SweetMNM committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    e119095 View commit details
    Browse the repository at this point in the history
  6. 💹 Fix tests failing in CI

    The tests didn't consider that in ci environment the spinners don't spin and `raw mode` is used.
    SweetMNM committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    22565bb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2e28589 View commit details
    Browse the repository at this point in the history
  8. 💿 Fix CircleCI badge

    SweetMNM committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    4067f82 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    681514d View commit details
    Browse the repository at this point in the history
  10. Update .gitignore

    SweetMNM committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    bc77a34 View commit details
    Browse the repository at this point in the history
  11. Update package.json

    SweetMNM committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    33e34c9 View commit details
    Browse the repository at this point in the history
  12. 0.5.1

    SweetMNM committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    58a0ad5 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2020

  1. Update README.md

    Fix CI link
    SweetMNM authored Sep 29, 2020
    Configuration menu
    Copy the full SHA
    4182213 View commit details
    Browse the repository at this point in the history
  2. ⭕ Optimize code

    Improve `applyStatusOverrides` by a lot.
    
    Seriously don't even look at the code before that, it was really bad.
    SweetMNM committed Sep 29, 2020
    Configuration menu
    Copy the full SHA
    b162b93 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    492d748 View commit details
    Browse the repository at this point in the history
  4. 🎄 Replace chalk with colorette

    This reduces bundle size significantly and its a drop in replacement, meaning no code changes were required.
    SweetMNM committed Sep 29, 2020
    Configuration menu
    Copy the full SHA
    86252f4 View commit details
    Browse the repository at this point in the history
  5. 0.5.2

    SweetMNM committed Sep 29, 2020
    Configuration menu
    Copy the full SHA
    2637d4c View commit details
    Browse the repository at this point in the history
  6. 📰 Document 0.5.2 changes

    SweetMNM committed Sep 29, 2020
    Configuration menu
    Copy the full SHA
    dddbf1e View commit details
    Browse the repository at this point in the history