-
[@skypager/runtime] prop-types support & getChildContext
- Helper classes can declare optionTypes, providerTypes, contextTypes using the prop-types library
- Helper instances can
checkTypes('options|context|provider')
and get a report back if the helpersoptions|context|provider
object matches the expected shape - Helpers can define a
getChildContext
function to dynamically set the helperscontext
- We can enforce validation of the types at runtime with a strictMode flag enabled
-
[@skypager/runtime] low level api improvements
- you can now await runtime.nextStateChange() or runtime.nextStateChange("someProperty")
- Helper classes can define static initialState functions
- Helper initialization lifecycle and statefulness happens in a better order
-
[@skypager/runtime] helper state improvements, convenience methods
- helper instances get setState, replaceState, which has the same semantics as runtime's, (and React)
await runtime.nextEvent(event)
will return a promise which resolves when the next event firesawait runtime.nextStateChange(attributeName?)
will return a promise which resolves when the next state change occurs. pass an optional attribute name to listen for only changes to one keyawait runtime.untilStateMatches(validatorObjectOrFunction)
will return a promise which resolves when the validator matches current state- all of the above also work on helper instances
- [@skypager/features-file-db] added a feature for using nedb
- [@skypager/web] assetLoaders feature will use a hack when dynamically loading babel scripts with babel-standalone
- [@skypager/web, @skypager-runtime] fixed module exports to use es6, web builds use webpack libraryExport config
- [@skypager/react] added useRuntimeState and useClientRequest hooks
- [@skypager/google] ships a
skypager google
command that provides a tree of subcommands for working with google drive and calendar apis - [@skypager/google] can now manage oauth2 clients, and automates cli authorization of behalf of real google users.
- [@skypager/cli] all commands support help and --help flags now
- [@skypager/google] extracted all shared google drive code from the helpers-sheet and helpers-google-doc modules into a single module, making it a shared dependency.
- [@skypager/helpers-sheet] use @skypager/google
- [@skypger/helpers-google-doc] use @skypager/google
- [@skypager/helpers-document] major upgrade to the module, including API docs
- Added a bunch of projects in the examples directory
- All modules ship umd, commonjs, and es module formats
- [@skypager/webpack] uses webpack 4
- [@skypagers/helpers-sheet] full support for adding rows / updating cells
- Monorepo -> Google Sheet Sync added example for syncing package.json content in the monorepo w/ a google sheet
- Runnable MDX Example added an example for runnable mdx documents
- [@skypager/node] - adds socket feature for cross platorm ipc between in node
- [@skypager/runtime] - fixed bug with qbus event emitter once not working properly
- [@skypager/features/package-manager] add scripts and methods for downloading from npm, implement
pacote
for fetching manifests and tarballs - [@skypager/features-file-manager] add
cacache
wrapper for interity based file system caching - [@skypager/helpers-mdx] - utilities for parsing mdx file with ast and structure maps
- [@skypager/helpers-google-doc] - utility for parsing google documents and working with their tree
- [@skypager/helpers-sheet] add support for writing to a google sheet
- [@skypager/features-redis] added a redis feature
- [@skypager/runtime] you can now call runtime.use(FeatureClass) as a way of registering and enabling a feature
- [@skypager/features-browser-vm] added a new feature for running a vm inside a JSDOM context
- [@skypager/features-file-manager] added some new methods and getters on package manager
- packageManager.remoteVersionMap returns remote package version by name
- packageManager.remoteEntries returns remote packages
- packageManager.remoteData returns remote packages
- usesYarnWorkspaces, usesLerna, yarnWorkspacePatterns, lernaPackagePatterns, hasYarnLock, hasNpmPackageLock
- [@skypager/features-file-manager] added hashTree function which gives a reliable checksum of the project file contents
- [@skypager/runtime]
- (enhancement) you can now export a class from your helper provider modules, when the runtime creates your helper it will create an instance of this class
- (breaking change) removed automatic lodash mixin application on instances of Runtime and Helper classes.
- [@skypager/node]
- (enhancement) refactored the features to be class based
- [@skypager/devtools]
- (enhancement) added a run-all script which can run package tasks in parallel
- [@skypager/features-file-manager]
- (enhancement) added exportGraph() method to packageManager and moduleManager. This represents the packages as nodes and edges, where the edges represent the dependencies between packages (dev dependencies, optional, etc). This is really useful for visualizing the relationships between all of the packages. Once I'm able to get the dependency between file modules mapped out, i'll do the same for those.
- [@skypager/runtime]
- (bugfix) the node version of @skypager/runtime did not use the babel polyfill
- [@skypager/cli]
- (enhancement) the
skypager
CLI will attempt to search all @skypager packages which have a scripts folder, as well as any other workspace paths (for @scoped projects) which have a scripts folder, when trying to run a command that isn't provided by @skypager/devtools, @skypager/cli, or @skypager/webpack
- (enhancement) the
- @skypager/helpers-server
- (enhancement) - Added endpoints registry in the server helper. The endpoints registry allows us to register express route adding functions / middleware, and then load them by name when creating a server.
- @skypager/webpack
- (enhancement) - Extracted mdx parser function from the webpack loader, so that it can be used in a standalone way by other libraries
- [@skypager/runtime]
- (bugfix) - Fixed bug in vm feature's createScript method
- Fixed a bug in the @skypager/runtime web build where it was not working because of webpack's global and process stubs.
- Added a browser based test suite for the @skypager/runtime and @skypager/web builds
Published Packages
- @skypager/cli: 0.1.9 => 0.1.10
- @skypager/devtools: 0.1.9 => 0.1.10
- @skypager/webpack: 0.1.8 => 0.1.10
- @skypager/sheets-server: 0.1.9 => 0.1.10
- @skypager/features-file-manager: 0.1.2 => 0.1.10
- @skypager/helpers-repl: 0.1.9 => 0.1.10
- @skypager/helpers-sheet: 0.1.7 => 0.1.10
- @skypager/runtime: 0.1.1 => 0.1.10
- @skypager/node: 0.1.9 => 0.1.10
- @skypager/web: 0.1.9 => 0.1.10
- @skypager/node
- @skypager/web - added babel feature to load babel standalone in via cdn tag at runtime
- @skypager/cli
- @skypager/webpack
- @skypager/devtools