National Palace Museum

    @nexssp/file

    1.0.19 • Public • Published

    @nexssp/file

    Create/manage files from the templates from over 50 programming languages.

    This package use @nexssp/languages to manage templates and language programming definitions..

    Note

    This Nexss Programmer's plugin is the effect of the refactoring the Nexss Programmer @nexssp/cli which development has been started in 2018. Now this module can be also used as separate program without the Nexss Programmer.

    Install

    npm i -g @nexssp/file

    Now you can use nexssp-file.

    Usage

    Add Commands

    Templates are downloaded based on the extension passed to the nexss file add command.

    # Below is the same as nexss programmer's `nexss file add myfile.js` or just `nexss f a myfile.js`
    nexssp-file add myfile.js
    

    Just more here from Nexss Programmers docs:

    nexss file list # list files for actual project (the same as nexss f l)
    nexss file add # add file with selection
    
    # Predefined templates (which appears on the list) are passed without extension:
    nexss file add myfile.js --template helloWorld
    
    # Absolute paths needs to have extension:
    nexss file add myfile.js --template c:\templates\template1.js

    nexssProgrammer-SelectTemplateExampleCLI

    File Templates - Languages configuration

    Languages configuration are in the c:/Users/<yourusername>/.nexss/languages/

    Sometimes template file needs extra libraries or files or commands to run. You can do this by creating the file (as example below) and specify:

    • files: Array ["folder/file","file.ext"] - files to copy
    • commands: Array ["mv source dest","ps"] - commands to run after files are copied
    • repos: Array this is just to keep repositories (nothing is run)
    • descriptions: Array - displays messages after file is added

    Example: Template is name Default.ahk, so below file with config for the template is called Default.ahk.js

    const config = {
      files: ['3rdPartyLibraries/JSONParser.ahk'],
      commands: ['ls -la', 'some second command'],
      repos: ['https://github.com/dbohdan/jimhttp'],
      descriptions: ['This information will be displayed after all files are copied and commands run.'],
    }
    
    module.exports = config

    You also can use conditions like below: (example of Elixir language):

    const config = {
      files: ['mix.exs'],
      commands: ['IF exist src (cd src && mv mix.exs ../mix.exs && cd ..) else ( mix deps.get)'],
      repos: [],
      descriptions: ['!!! You may see some warnings at the very first run of your Elixir program.'],
    }

    Writing own Templates - Default and HelloWorld

    Nexss Programmer uses JSON as interchange format between languages. To use fully Nexss Programmer features like Nexss Programmer projects programming language needs to have: Default and HelloWorld. (Most of the Nexss Programmer's languages already have implemented)

    • Default - Just passing data and adding extra item in JSON "test" with value of "test"
    • Hello World - Adding field HelloFrom: Version of the language

    Development and Test of the Default and Hello World templates

    Default

    # Default
    nexss file add myfile.cpp --t=Default # This creates file from template Default
    
    (This below only works on Nexss Programmer and it is not a part of the @nexssp/languages)
    nexss myfile.cpp # and this should give kind of output (below C++):
    {"start":1578507572953,"cwd":"C:\\xdata\\1\\1234","debug":true,"_":[],"outputCPP":"Hello from C++ 17!"}

    Install

    npm i @nexssp/file

    Homepage

    nexss.com

    DownloadsWeekly Downloads

    14

    Version

    1.0.19

    License

    MIT

    Unpacked Size

    27.8 kB

    Total Files

    26

    Last publish

    Collaborators

    • nexss