• This repository has been archived on 01/Sep/2022
  • Stars
    star
    272
  • Rank 151,235 (Top 3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🔌 Official JavaScript SDK for APIs built with Strapi.

⚠️ This package not up to date and maintained ⚠️

We recommend you not to use this package. We stopped to maintained it by lack of time and also because the features provided by this SDK are the same as a good HTTP client well configured. So I suggest you use the best HTTP client for the technology you use. To configure it to target your Strapi API. Here so usefull ressources to help you:


The official Strapi SDK for JavaScript, available for browsers or Node.js backends.



Install

npm install strapi-sdk-javascript

Start now

New instance

import Strapi from 'strapi-sdk-javascript';

const strapi = new Strapi('http://localhost:1337');

Authentications

Local

await strapi.login('username_or_email', 's3cr3t');
// Redirect your user to the provider's authentication page.
window.location = strapi.getProviderAuthenticationUrl('facebook');

Once authorized, the provider will redirects the user to your app with an access token in the URL.

// Complete the authentication: (The SDK will store the access token for you)
await strapi.authenticateProvider('facebook');

You can now fetch private APIs

const posts = await strapi.getEntries('posts');

Files management

Browser

const form = new FormData();
form.append('files', fileInputElement.files[0], 'file-name.ext');
form.append('files', fileInputElement.files[1], 'file-2-name.ext');
const files = await strapi.upload(form);

Node.js

const FormData = require('form-data');
const fs = require('fs');
const form = new FormData();
form.append('files', fs.createReadStream('./file-name.ext'), 'file-name.ext');
const files = await strapi.upload(form, {
  headers: form.getHeaders()
});

API

Strapi(baseURL, storeConfig, requestConfig)

request(method, url, requestConfig)

register(username, email, password)

login(identifier, password)

forgotPassword(email, url)

resetPassword(code, password, passwordConfirmation)

getProviderAuthenticationUrl(provider)

authenticateProvider(provider, params)

setToken(token, comesFromStorage)

clearToken(token)

getEntries(contentTypePluralized, params)

getEntry(contentTypePluralized, id)

getEntryCount(contentTypePluralized, params)

createEntry(contentTypePluralized, data)

updateEntry(contentTypePluralized, id, data)

deleteEntry(contentTypePluralized, id)

searchFiles(query)

getFiles(params)

getFile(id)

upload(data)

requestConfig

Custom axios request configuration. See documentation

Resources

Roadmap

  • GraphQL
  • Attach/Detach entry relationship
  • Real time with Socket.io

Credits

License

MIT

More Repositories

1

strapi

🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable and developer-first.
TypeScript
62,714
star
2

strapi-examples

🎓 List of examples using Strapi
1,347
star
3

strapi-docker

Install and run your first Strapi project using Docker
JavaScript
1,164
star
4

foodadvisor

🥘 THE Strapi demo application
JavaScript
1,076
star
5

nextjs-corporate-starter

Strapi Demo application for Corporate Websites using Next.js
TypeScript
1,026
star
6

documentation

Strapi Documentation
JavaScript
1,017
star
7

community-content

Contribute and collaborate on educational content for the Strapi Community
JavaScript
572
star
8

buffet

Buffet.js — React Components Library made with styled-components
JavaScript
538
star
9

design-system

Strapi.io's design system 🚀
TypeScript
465
star
10

strapi-starter-next-blog

Strapi Starter Next Blog
JavaScript
383
star
11

strapi-starter-next-corporate

Next.js starter for creating a corporate site with Strapi.
JavaScript
346
star
12

starters-and-templates

Monorepo for all official Strapi v4 templates
JavaScript
325
star
13

strapi-starter-next-ecommerce

Strapi Starter Next.js E-commerce
JavaScript
214
star
14

strapi-starter-nuxt-blog

Strapi Starter Nuxt Blog
Vue
181
star
15

strapi-starter-nuxt-e-commerce

Strapi Starter Nuxt.js E-commerce
Vue
179
star
16

strapi-starter-gatsby-blog

Updated version of the first Gatsby starter with much more features
JavaScript
141
star
17

blocks-react-renderer

A React renderer for the Strapi's Blocks rich text editor
TypeScript
129
star
18

strapi-starter-react-blog

Strapi Starter React Blog
JavaScript
122
star
19

strapi-next-14-dashboard-demo

TypeScript
107
star
20

strapi-legacy-gatsby-blog

Strapi Starter Gatsby Blog
JavaScript
102
star
21

strapi-legacy-blog

Starter for creating a simple blog with Strapi.
JavaScript
97
star
22

strapi-heroku-template

Strapi official template for Heroku 1 click deploy button
JavaScript
94
star
23

strapi-plugin-seo

The official plugin to make your Strapi content SEO friendly
JavaScript
88
star
24

strapi-template-corporate

Template to create Strapi projects pre-configured for corporate sites
JavaScript
84
star
25

waterline-graphql

GraphQL adapter for the Waterline ORM.
JavaScript
70
star
26

rfcs

RFCs for Strapi future changes
68
star
27

strapi-starter-angular-blog

Strapi Starter Angular Blog
TypeScript
66
star
28

strapi-starter-vue-blog

Strapi Starter Vue Blog
Vue
65
star
29

strapi-template-blog

Template to create Strapi projects pre-configured for blogs
JavaScript
61
star
30

strapi-template-ecommerce

Template to create Strapi projects pre-configured for e-commerce apps
JavaScript
58
star
31

migration-scripts

Collection of Strapi Migration scripts
JavaScript
58
star
32

one-click-deploy

Shell
58
star
33

codemods

A set of scripts to help migrate Strapi plugins (and in some cases Strapi applications) from v3 to v4
JavaScript
44
star
34

strapi-heroku-cms-demo

Repository for "CMS" from the Gatsby / Strapi Video Tuturial Series
JavaScript
36
star
35

strapi-starter-gridsome-portfolio

Build portfolio sites using Strapi and Gridsome
Vue
33
star
36

strapi-starter-gridsome-blog

Build blog sites using Strapi and Gridsome
Vue
32
star
37

strapi-starter-gatsby-catalog

Strapi Starter Gatsby Catalog
JavaScript
28
star
38

strapi-starter-gatsby-corporate

JavaScript
27
star
39

strapi-docs

The Strapi documentation.
25
star
40

strapi-template-event-vercel

Template to create Strapi projects pre-configured for event using the Vercel Event kit
JavaScript
24
star
41

strapi-conf-next-template

TypeScript
23
star
42

strapi-plugin-open-ai

The official plugin that allows you to create Open AI completion from a prompt
JavaScript
18
star
43

LaunchPad

Official Strapi Demo application
TypeScript
18
star
44

bookshelf-cache-redis

🔥 A robust, performance-focused caching solution for Bookshelf based on top of Redis.
JavaScript
17
star
45

strapi-meetups

Learn, share and collaborate with the community at Strapi meetups. Contributions welcome.
15
star
46

strapi-studio

The official open-source repository of the Strapi Studio.
13
star
47

strapi-generate-admin

Generate the default admin panel inside your Strapi application.
JavaScript
13
star
48

strapi-conf-admin-template

Template for the StrapiConf Admin
JavaScript
11
star
49

community-resources

Explore and learn a diverse range of ways to contribute to the Strapi Community
11
star
50

strapi-template-portfolio

Template to create Strapi projects pre-configured for portfolio sites
JavaScript
11
star
51

strapi-plugin-gatsby-preview

JavaScript
10
star
52

strapi-generate-users

Generate user features for your Strapi application.
JavaScript
9
star
53

components

Official Strapi components library
9
star
54

eslint-config

Strapi eslint config
JavaScript
8
star
55

strapi-generate-email

Generate the default email features for a Strapi application.
JavaScript
7
star
56

strapi-template-next-example

JavaScript
7
star
57

strapi-generate-upload

Generate the default upload features for a Strapi application.
JavaScript
7
star
58

.github

Community health files for the @strapi organization
5
star
59

strapi-generate

JavaScript
5
star
60

strapi-template-catalog

JavaScript
5
star
61

best-practices-samples

Sample project code for Strapi Best Practice calls
JavaScript
5
star
62

internal-lms

Strapi's Internal Learning Management System
TypeScript
5
star
63

strapi-cloud-template-blog

JavaScript
5
star
64

strapi-settings-manager

Strapi plugin built to let you easily configure your Strapi applications.
JavaScript
4
star
65

plugin-rfc-examples

JavaScript
3
star
66

strapi-generate-api

JavaScript
3
star
67

strapi-generate-new

JavaScript
3
star
68

pack-up

Simple tools for creating interoperable CJS & ESM packages.
TypeScript
3
star
69

javascript

Strapi Javascript Style Guide
2
star
70

security-patches

Patch-package patches for TID2212
2
star
71

foodadvisor-migration-example

JavaScript
2
star
72

sdk-plugin

CLI toolkit for developing a Strapi plugin
TypeScript
2
star
73

dbt-config

1
star
74

v5-experiments

TypeScript
1
star
75

strapi-provider-upload-rackspace

Archived copy of the Strapi Rackspace upload provider
JavaScript
1
star