Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Fiscal provides a simple interface to calculate the calendar dates for fiscal years and quarters. Fiscal has no dependencies and also offers a browser build (see fiscal.min.js
).
const Fiscal = require('fiscal');
const fiscal = new Fiscal(9); // Specify the 0-indexed month that your fiscal year starts
// get information about the current year
fiscal.getFiscalInfoForDate().fiscalYear
// returns { fiscalYear: 2017, fiscalMonth: 9 }
Fiscal can give you information using the current date or one you specify.
Before you start using Fiscal, you need to tell Fiscal what calendar month your fiscal year starts on. This should be zero-indexed (as per JS's Date implementation).
For example, if your fiscal year starts in October, you would do:
const fiscal = new Fiscal(9);
fiscal.getFiscalInfoForDate([Date])
Provides information based on the provided date.
fiscal.getFiscalInfoForDate();
Parameters:
Date
Creates a Fiscal instance for the provided date object. If no date is provided, Fiscal will use the current date.Returns an object containing information about the provided date.
{
fiscalYear: '[instance of FiscalYear]',
quarter: '[instance of Quarter]',
calendar: {
calendarMonth: '[zero-indexed calendar month]',
calendarYear: '[calendar year]'
}
}
FiscalYear.startDate
Returns the starting date for the fiscal year.
const info = fiscal.getFiscalInfoForDate();
info.fiscalYear.startDate // Date: 2016-10-01T00:00:00.000Z
FiscalYear.endDate
Returns the ending date for the fiscal year.
const info = fiscal.getFiscalInfoForDate();
info.fiscalYear.endDate // Date: 2017-09-00T23:59:59.999Z
FiscalYear.previous()
Returns a new instance of FiscalYear
representing the previous fiscal year.
const info = fiscal.getFiscalInfoForDate();
const prevFy = info.fiscalYear.previous();
FiscalYear.next()
Returns a new instance of FiscalYear
representing the next fiscal year.
const info = fiscal.getFiscalInfoForDate();
const nextFy = info.fiscalYear.next();
Quarter.startDate
Returns the starting date for the fiscal year.
const info = fiscal.getFiscalInfoForDate();
info.quarter.startDate // Date: 2016-10-01T00:00:00.000Z
Quarter.endDate
Returns the ending date for the fiscal year.
const info = fiscal.getFiscalInfoForDate();
info.quarter.endDate // Date: 2016-12-31T23:59:59.999Z
Quarter.previous()
Returns a new instance of Quarter
representing the previous quarter.
const info = fiscal.getFiscalInfoForDate();
const prevQuarter = info.quarter.previous();
Quarter.next()
Returns a new instance of Quarter
representing the next quarter.
const info = fiscal.getFiscalInfoForDate();
const nextQuarter = info.quarter.next();
To run the tests, simply run npm test
.
This module was developed by Mark Herhold at RTI International. It is available for use under the MIT license. Pull requests are appreciated and welcome.
FAQs
Computes fiscal quarter and year date ranges
The npm package fiscal receives a total of 4,627 weekly downloads. As such, fiscal popularity was classified as popular.
We found that fiscal 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
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.