Sana Assistant (online)
Table of Contents

Compatibility and External Dependencies

Extension API compatibility

In next table You can find from which version of Sana Commerce the extension API is supported:

Extension API version SCC version .NET version
2.0.49 Key notes 1.104 .NET 8.0
2.0.46 Key notes 1.100 .NET 8.0
2.0.45 Key notes 1.98 .NET 8.0
2.0.42 Key notes 1.95 .NET 8.0
2.0.40 Key notes 1.94 .NET 8.0
2.0.39 Key notes 1.90 .NET 8.0
2.0.37 Key notes 1.89 .NET 6.0
2.0.36 Key notes 1.87 .NET 6.0
2.0.34 Key notes 1.85 .NET 6.0
2.0.29 Key notes 1.78 .NET 6.0
2.0.26 Key notes 1.72 .NET 6.0
2.0.25 Key notes 1.69 .NET 6.0
2.0.24 Key notes 1.67 .NET 6.0
2.0.23 Key notes 1.64 .NET 6.0
2.0.20 Key notes 1.59 .NET 6.0
2.0.18 Key notes 1.55 .NET Standard 2.0
2.0.17 Key notes 1.53 .NET Standard 2.0
2.0.12 Key notes 1.0.40 .NET Standard 2.0
2.0.11 Key notes 1.0.37 .NET Standard 2.0
2.0.10 Key notes 1.0.30 .NET Standard 2.0
2.0.8 Key notes 1.0.25 .NET Standard 2.0
2.0.5 Key notes 1.0.15 .NET Standard 2.0
2.0.2 Key notes 1.0.6 .NET Standard 2.0
2.0.1 Key notes 1.0.3 .NET Standard 2.0
2.0.0 Key notes 1.0.0 .NET Standard 2.0

External Dependencies

NuGet packages

Here you can find the list of commonly used NuGet packages which are available to be used in extensions.

Name Version
AutoMapper 8.1.1
CsvHelper 15.0.8
GraphQL 3.2.0
GraphQL.SystemTextJson 3.2.0
MailKit 2.5.1
Microsoft.ApplicationInsights.AspNetCore 2.14.0
Microsoft.Azure.Storage.Blob 11.1.7
Microsoft.Azure.Storage.Queue 11.1.7
Microsoft.Extensions.Logging.Abstractions 2.2.0
Microsoft.Extensions.Options 3.1.1
Microsoft.Identity.Client 4.15.0
NETStandard.Library 2.0.3
Phonix 1.0.2
System.Collections.Immutable 1.7.0
System.ComponentModel.Annotations 4.6.0
System.Drawing.Common 4.7.0
System.IdentityModel.Tokens.Jwt 6.8.0
System.Net.Http 4.3.4
System.Runtime.Caching 4.7.0
System.Text.Json 5.0.1

JavaScript packages

There is a list of JS modules shared with extensions. It means they are always available at runtime and can be used without adding them per extension. Note that package versions can be different in previous Sana releases.

Name Version Note
react 16.14.0
prop-types 15.7.2
redux 4.0.4
react-redux 7.1.0
rxjs 6.3.3
redux-observable 1.0.0
classnames 2.2.6 This helper should be used wisely and only in case there are more than 2 conditional classes to be combined as it might be slower and less obvious than the concatenation.

For example, `global ${styles.item} ` + condition ? styles.conditional : '' is better than classnames('global', styles.item, condition && styles.conditional).
date-only - Custom module from Sana to handle Date instances ignoring/trimming time parts.
isomorphic-style-loader - Custom Sana module to insert themed styles to.

There is a Babel loader which wraps default exports from files with styles being imported in withStyles call to insert used styles once component being rendered. But there can be a case (e.g. using HOCs or several non-default exported components in a file) when you would like to use it manually:
export const Icon1 = withStyles(styles1)(Icon) where styles1 is imported styles object from './Icon1.module.scss'.
react-sortable-hoc 1.9.1 Available in Admin only.