3.0.0 • Published 2 years ago

@torgeircook/cssjson v3.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

CSS-JSON Converter for JavaScript

Table of Contents generated with DocToc

About

CSS-JSON Converter for JavaScript
Converts CSS to JSON and back.
Version 3.0.0

Released under the MIT license.

Installation

NPM

npm install cssjson

Usage

JavaScript / Typescript

import { toCSS, toJSON } from 'cssjson';

// To JSON
const json = toJSON(cssString);

// To CSS
const css = toCSS(jsonObject);

npm run / CLI

To use CSSJSON from your command-line interface or with npm scripts there is cssjson-cli.

$ cssjson input_file [--to-css] [--output|-o output_file]

Sample

See src/__tests__/toCSSandJSON.spec.ts

JSON

{
  "children": {
    "@media (max-width: 800px)": {
      "children": {
        "#main #comments": {
          "children": {},
          "attributes": {
            "margin": "0px",
            "width": "auto",
            "background": "red"
          }
        },
        "#main #buttons": {
          "children": {},
          "attributes": {
            "padding": "5px 10px",
            "color": "blue"
          }
        }
      },
      "attributes": {}
    },
    "#main #content": {
      "children": {},
      "attributes": {
        "margin": "0 7.6%",
        "width": "auto"
      }
    },
    "#nav-below": {
      "children": {},
      "attributes": {
        "border-bottom": "1px solid #ddd",
        "margin-bottom": "1.625em",
        "background-image": "url(http://www.example.com/images/im.jpg)"
      }
    }
  },
  "attributes": {}
}

CSS

@media (max-width: 800px) {
  #main #comments {
    margin: 0px;
    width: auto;
    background: red;
  }
  #main #buttons {
    padding: 5px 10px;
    color: blue;
  }
}
#main #content {
  margin: 0 7.6%;
  width: auto;
}
#nav-below {
  border-bottom: 1px solid #ddd;
  margin-bottom: 1.625em;
  background-image: url(http://www.example.com/images/im.jpg);
}
acorn-globalsacornacorn-walkacorn-jsxababansi-colorsajvacceptsajv-keywordsansi-escapesansi-regexajv-errorsansi-stylesanymatcharr-flattenargparsearr-unionansi-htmlarr-diffarray-unionarray-uniquearray-flattenarray-uniqasn1array-backastral-regexassign-symbolsassert-plusasyncasync-eachasync-limiteraws-sign2atobasynckitbabel-jestbabel-preset-current-node-syntaxaws4babel-plugin-istanbulbalanced-matchbabel-plugin-jest-hoistbasebabel-preset-jestbig.jsbonjourbinary-extensionsbcrypt-pbkdfbatchbody-parserbrace-expansionbrowser-process-hrtimebracesbrowserslistbserbytesbs-loggerbuffer-indexofcache-basebuffer-fromcallsitescall-bindcamelcasecaniuse-litechalkchar-regexcaselessci-infochokidarchrome-trace-eventclass-utilscapture-exitcjs-module-lexercocollection-visitcolor-namecolorettecolor-convertcommand-line-usagecliuicollect-v8-coveragecombined-streamconnect-history-api-fallbackcomponent-emittercompressiblecontent-dispositioncommanderconcat-mapcompressioncontent-typecookieconvert-source-mapcross-spawncookie-signaturecopy-descriptorcore-util-iscssomdashdashcssstyledata-urlsdecimal.jsdecode-uri-componentdebugdecamelizedeep-equaldeep-extenddeep-isdeldeepmergedefine-propertydelayed-streamdefault-gatewaydepddefine-propertiesdetect-newlinedetect-nodedir-globdestroydns-equaldns-txtdiff-sequencesdoctrinedomexceptiondns-packetelectron-to-chromiumemitteryecc-jsbnee-firstemoji-regexemojis-listenquirerend-of-streamencodeurlenvinfoerrnoenhanced-resolveescaladeerror-exes-to-primitivees-abstractescape-htmleslint-scopeescodegeneslint-utilseslint-visitor-keysescape-string-regexpespreeesrecurseestraverseesqueryetagesutilseventseventemitter3eventsourceexec-shexpand-bracketsesprimaexitexpressexecaextendexpectextend-shallowextglobextsprintffast-globfast-levenshteinfast-deep-equalfast-json-stable-stringifyfastqfill-rangefile-entry-cachefb-watchmanfaye-websocketfinalhandlerfind-upflattedflat-cachefollow-redirectsforever-agentform-datafor-infs.realpathfragment-cacheforwardedfreshfunction-bindfunctional-red-black-treeget-caller-fileget-intrinsicget-streamgensyncglobget-package-typeget-valuegetpassglobbyglobalsglob-parentglob-to-regexpgraceful-fshar-schemahas-flaghandle-thinggrowlyhas-valueshas-symbolshashosted-git-infohar-validatorhas-valuehpack.jshtml-encoding-snifferhtml-escaperhtml-entitieshttp-errorshttp-proxyhttp-deceiverhttp-proxy-middlewareiconv-litehuman-signalsignoreimport-freshimurmurhashhttp-signatureimport-localinheritsinflightinterpretip-regexinternal-ipipaddr.jsipis-absolute-urlis-argumentsis-accessor-descriptoris-arrayishis-binary-pathis-callableis-bufferis-data-descriptoris-ciis-date-objectis-core-moduleis-dockeris-generator-fnis-globis-descriptoris-fullwidth-code-pointis-extendableis-extglobis-numberis-plain-objectis-potential-custom-element-nameis-path-cwdis-path-in-cwdis-typedarrayis-streamis-path-insideis-regexisarrayis-windowsis-symbolisstreamis-wslisexeisobjectistanbul-lib-reportistanbul-lib-instrumentistanbul-lib-coverageistanbul-lib-source-mapsjest-configistanbul-reportsjest-changed-filesjest-eachjest-diffjest-docblockjest-environment-jsdomjest-haste-mapjest-get-typejest-jasmine2jest-message-utiljest-matcher-utilsjest-environment-nodejest-pnp-resolverjest-leak-detectorjest-mockjest-regex-utiljest-resolve-dependenciesjest-resolvejest-runnerjest-runtimejest-utiljest-snapshotjest-watcherjest-workerjest-serializerjest-validatejsbnjsdomjson-parse-better-errorsjs-tokensjs-yamljson-schemajson-stable-stringify-without-jsonifyjsescjson-parse-even-better-errorsjson-stringify-safejson-schema-traversejson5kind-ofjsprimkleurkillablejson3loader-runnerlevnlevenlines-and-columnslocate-pathloader-utilslodash.sortbylodash.memoizemake-errorlodashmakeerrorlru-cacheloglevelmake-dirmap-cachemerge-descriptorsmap-visitmedia-typermemory-fsmerge2merge-streammethodsmime-dbmimeminimalistic-assertmicromatchmimic-fnminimatchmime-typesminimistmulticast-dnsmixin-deepnatural-comparemkdirpmsmulticast-dns-service-typesnanomatchneo-asyncnice-trynode-forgenegotiatornode-releasesnode-modules-regexpnode-int64npm-run-pathnode-notifiernwsapinormalize-package-dataoauth-signobject-inspectnormalize-pathobject-copyobject-isobject-visitobject.assignobject-keysobufobject.pickon-headersobject-assignon-finishedonetimeopnoptionatoronceoriginalp-each-seriesp-finallyp-mapp-locatep-limitp-retryparseurlparse-jsonpath-existsp-tryparent-modulepascalcaseparse5path-to-regexppath-dirnamepath-is-absolutepath-is-insidepath-parsepath-typepath-keyperformance-nowpifypiratespicomatchpkg-dirpinkiepinkie-promiseportfinderpretty-formatprocess-nextick-argsprelude-lsprogressposix-character-classesproxy-addrpslpromptsprrqspunycodepumpquerystringifyquerystringrandombytesread-pkgrange-parserreact-isread-pkg-upraw-bodyrechoirreadable-streamreaddirpregex-notregexpprepeat-elementrequest-promise-coreremove-trailing-separatorreduce-flattenrequestrequest-promise-nativerequire-directoryresolverequire-main-filenameretryresolve-cwdrequires-portresolve-fromregexp.prototype.flagsretresolve-urlrun-parallelreusifysafer-buffersafe-regexsafe-bufferrsvprepeat-stringrimrafsaneschema-utilssaxessemverselect-hoseselfsignedsendserialize-javascriptserve-indexset-blockingshebang-commandset-valueshebang-regexsignal-exitserve-staticsetprototypeofsisteransishellwordsslice-ansisnapdragonslashsnapdragon-utilsnapdragon-nodesockjssockjs-clientsource-mapsource-list-mapsource-map-urlsource-map-resolvespdx-expression-parsesource-map-supportspdx-correctspdx-license-idsspdx-exceptionssprintf-jssshpksplit-stringspdy-transportstack-utilsspdystatic-extendstring-lengthstring.prototype.trimstartstring-widthstatusesstealthy-requirestring.prototype.trimendstring_decoderstrip-eofstrip-ansistrip-bomstrip-final-newlinestrip-json-commentssupports-hyperlinkssupports-colorsymbol-treetapableterser-webpack-plugintabletable-layoutterminal-linktext-tabletersertest-excludethroatthunkyto-fast-propertiesto-object-pathto-regexto-regex-rangetmpltough-cookietr46toidentifiertweetnacltunnel-agenttype-detecttype-checktype-istype-festtslibtypedarray-to-buffertsutilsunion-valueunpipeunset-valuetypicalupathuri-jsurixurlurl-parseuuidutils-mergeutil-deprecateusevalidate-npm-package-licensevaryv8-to-istanbulverrorv8-compile-cachew3c-xmlserializerwbufwatchpackwebpack-dev-middlewarewebidl-conversionswalkerw3c-hr-timewebpack-sourceswebpack-mergewhatwg-urlwebpack-logwebsocket-driverwhatwg-encodingword-wrapwhichwhatwg-mimetypewebsocket-extensionswordwrapjswhich-modulewrappywrite-file-atomicxml-name-validatorwrap-ansiwsxmlcharsyargsy18nyocto-queueyargs-parseryallist
3.0.0

2 years ago