
Security News
CVE Volume Surges Past 48,000 in 2025 as WordPress Plugin Ecosystem Drives Growth
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.
observatory
Advanced tools
Beautiful UI for showing tasks running on the command line.
Instead of just logging long running tasks to the console, give your users a simple status dashboard.

$ npm -g install observatory
node ./examples/buzzwords.jsAn example using fake data that tries to look like a real-world usage.
node ./examples/long-line.jsAn example of what happens when text is so long it needs to wrap to another line.
var observatory = require('observatory');
//add a task to display
var task = observatory.add('Install packages...');
//while working on the task, update the status
task.running('Copying Files');
//optionally give details
task.details(percent + '% ' + filename);
//chain commands
task.status('Compressing Images')
.details(directoryName);
//when complete
task.done('Finished!');
//or if it failed
task.fail('Ooops');
[Test Runner] Running tests on Safari Running Now 50% CSS3 Tests
⇧ prefix ⇧ description ⇧ status ⇧ details
observatory.add(description)description string Required description.
returns a new task
Adds a task to the console. This method returns a task object, you should store it in a variable so you can use it for the methods bellow.
var copyFilesTask = observatory.add('Copy files');
All task methods return the task object so that you can chain functions, such as task.done().status('Installed!');.
task.status(statusLabel)statusLabel string Set the status value.
Displays a short message to the right of the description. Use it to show users in a word or two that suggests what is happening.
Examples:
task.status('Downloading');task.status('Running');task.status('Complete');task.details(detailsLabel)detailsLabel string Set the details value.
Optional provide details about what's happening, such as file names, urls, tests names.
Examples:
task.details('Copying var/tmp/whatever to var/whater/tmp');task.details('Compressing bigimage.png');task.details('Testing services');task.done(statusLabel)statusLabel string Set the status value. Default: ✓ Done.
task.done();task.done('Compressed!')task.fail(statusLabel)statusLabel string Set the status value. Default: ✗ Failed.
task.fail();observatory.settings(settingsObject)Tweak how tasks are rendered.
settingsObject
width Integer, width in characters of the description and status area. This is used to right justify the status. Default is 55.prefix Sting, Text to prepend each line. Default is ' ⫸ '.write Function(content). Writes the content to the output. Defaults to process.stdout.write.formatStatus Function(statusLabel, STATE)returns
observatoryso you can use it on therequirestatement.
var observatory = require('observatory').settings({
prefix: '[bower] '.white
});
A constant for the different states. Only useful if you need to change formatStatus above.
The values:
observatory.STATE.active Defaults to using default console color.observatory.STATE.done Defaults to using green.observatory.STATE.fail Defaults to using red.Copyright (c) 2015 Dylan Greene
Licensed under the MIT license.
FAQs
Beautiful UI for showing tasks running on the command line.
The npm package observatory receives a total of 1,047 weekly downloads. As such, observatory popularity was classified as popular.
We found that observatory demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.

Security News
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.

Security News
Tailwind Labs laid off 75% of its engineering team after revenue dropped 80%, as LLMs redirect traffic away from documentation where developers discover paid products.