Socket
Book a DemoInstallSign in
Socket

apify-actor-config

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

apify-actor-config

Types and utils for Apify Actor config

1.0.3
latest
Source
npmnpm
Version published
Maintainers
1
Created
Source

Apify actor config

Write Apify actor config in JS/TS 😇

Features

  • Defined Apify's actor.json in JS/TS
  • Use CLI to export actor.js to JSON
  • Types for the Actor config

Getting started

Install

npm i apify-actor-config

Write Actor config in JS/TS

The file must export the config as the default export

See full example in ./examples/config.ts.

import {
  createActorConfig,
  createActorInputSchema,
  createBooleanField,
  createIntegerField,
  createObjectField,
  createStringField,
  createArrayField,
  Field,
  ActorInputSchema,
} from 'apify-actor-config';

// Define fields, typed based on their "type" and "editor" properties.
const proxyInput: Record<'proxy', Field> = {
  proxy: createObjectField({
    title: 'Proxy configuration',
    type: 'object',
    description: 'Select proxies to be used by your crawler.',
    editor: 'proxy',
    sectionCaption: 'Proxy',
    sectionDescription: 'Configure the proxy',
  }),
};

// Define input schema
const inputSchema = createActorInputSchema<ActorInputSchema<Record<keyof ActorInput, Field>>>({
  schemaVersion: 1,
  title: 'Example Scraper',
  description: `Configure the Example Scraper.`,
  type: 'object',
  properties: {
    ...proxyInput,
  },
});

// Define output schema
const outputSchema = createActorOutputSchema({
  actorSpecification: 1,
  fields: {
    /** ... */
  },
  views: {
    /** ... */
  },
});

// Now put it all together into Actor config
const config = createActorConfig({
  actorSpecification: 1,
  name: 'example-scraper',
  title: 'Example Scraper',
  description: 'Actor config example showcasing config written in JS/TS',
  version: '0.1',
  dockerfile: './Dockerfile',
  input: inputSchema,
  storages: { 
    dataset: outputSchema,
  }
});

// IMPORTANT: Export as default
export default config;

Generate actor.json

If you use TS, first compile the project.

Then generate actor.json file with apify-actor-config gen command.

Use -c or --config option to specify path to config JS file:

npx apify-actor-config gen -c ./path/to/config.js

By default, actor.json will be saved to ./.actor directory, if it exists, or otherwise to your current working directory.

To specify the output directory, set the -o or --output option

npx apify-actor-config gen -c ./path/to/config.js -o ./other/path/dir

To see all options, use

npx apify-actor-config gen -h

Types

This library provides full typing for all Actor config objects:

Included are also helper functions to create typed objects:

See the files in ./src/types directory for full details.

Keywords

apify

FAQs

Package last updated on 15 Aug 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.