
Research
/Security News
Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.
@stackone/files-sdk
Advanced tools
The Files SDK eases the integration with file storage providers
The teck stack used inside in this package is composed by:
Node.js 20+ is required to run this project. The recommended way to install and manage Node.js versions is using Volta.
# install dependencies
$ npm install
This command will also install husky to ensure that all the commits follow the Conventional Commits specification.
# clean build output
$ npm run clean
# build package
$ npm run build
# run tests
$ npm run test
# run tests with coverage report
$ npm run test:coverage
# run linter
$ npm run lint
# run linter and try to fix any error
$ npm run lint:fix
StorageSiteRepresents a storage site with the following properties:
interface StorageSite {
id: string;
displayName: string;
description?: string;
url: string;
createdAt: string;
}
StorageFileRepresents a file in the storage with the following properties:
interface StorageFile {
id: string;
name: string;
description?: string;
url?: string;
size?: number;
path?: string;
ownerId?: string;
createdAt?: string;
updatedAt?: string;
}
IFileStorageClientThe interface that all storage provider clients must implement:
interface IFileStorageClient {
initialize(config: unknown): Promise<void>;
login(scopes?: string[]): Promise<string>;
getAccessToken(scopes?: string[]): Promise<string>;
listSites(): Promise<StorageSite[]>;
openNativeFilePicker(options: {
baseUrl: string;
siteIdentifier?: string;
rootElementId?: string;
}): Promise<void>;
closeNativeFilePicker(): Promise<void>;
}
FileStorageClientFactoryA factory class that creates storage client instances based on the provider type.
import { FileStorageClientFactory, StorageType } from '@stackone/files-sdk';
const factory = new FileStorageClientFactory();
const client = factory.build('sharepoint');
await client.initialize({
clientId: 'your-client-id',
redirectUri: 'your-redirect-uri',
tenantId: 'your-tenant-id'
});
// Login to get an access token
const token = await client.login(['your-scopes']);
// List available sites
const sites = await client.listSites();
// Open the native file picker
await client.openNativeFilePicker({
baseUrl: 'your-sharepoint-url',
siteIdentifier: 'optional-site-id',
rootElementId: 'your-container-id'
});
// Close the native file picker
await client.closeNativeFilePicker();
This project uses Conventional Commits to ensure that all the commits follow a standard. This is done to ensure that the changelog can be automatically generated and to allow the automatic versioning of the package.
FAQs
Files SDK to ease the integration with file storage providers
The npm package @stackone/files-sdk receives a total of 86 weekly downloads. As such, @stackone/files-sdk popularity was classified as not popular.
We found that @stackone/files-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers 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.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.

Security News
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.