Skip to content

Instantly share code, notes, and snippets.

@alex-frankel
Last active April 2, 2021 17:14
Show Gist options
  • Save alex-frankel/9972937b7fbca3e1e9e36c9ecef9bfb3 to your computer and use it in GitHub Desktop.
Save alex-frankel/9972937b7fbca3e1e9e36c9ecef9bfb3 to your computer and use it in GitHub Desktop.

v0.4 Planning

ETA: 5/19-21 -- //build

Legend:

work item = already done

[work item] = in progress

Committed for Marc's engineering team:

  • [anything labeled "bug"]
    • TODO: add top 5 here
  • [ongoing customer blocking issues]
  • loop filtering
  • variable loops
  • chase down key RP type issues
    • [WebRP]
    • Monitoring
    • Parent/Child lifecycle modelling issues
      • [VNET]
    • storage should expose listConnectionString
  • thorough investigation of less newline sensitivity [#146]
    • single line objects & arrays [#586]
    • long function calls
    • after = [ in a for loop
    • ternary operator
  • bicep compile/decompile service
    • blocker: inline signing in modern pipelines
  • resource scope & child resources
    • Ryan's PR - nesting child resources
      • should implement :: operator
    • nesting child resources should honor scope
    • "parent/scope" property [#127]
    • [implement resource() function to get a reference in one-liner]
    • deprecating segemented child resource declaration
    • type validation for name as discriminator [#657]
    • simplify passing resources between modules
  • drop support of param modifiers
  • add descriptions to types
    • param details from module [#960]
    • property descriptions [#668]
    • function completions
    • implement @doc decorator
  • Type system v2 Planning
    • start by collecting a list of problems we want to tackle
    • completions for property access of array literals
    • marcin to draft an initial proposal
  • check for perf regressions with baselines
  • PROPOSAL FOR aliases for types(resource type and apiVersions)
  • PROPOSAL FOR versioning story for type DLL

In progress with partner teams

DevDiv:

  • Bicep Linter
  • Snippet conversion/enhancement
    • scaffold resources with only required properties
  • Merge bicep examples with quickstarts

MS Graph

  • POC of bicep extensibility
    • AAD team will be helping drive/clarify design of this

External Contributors

  • includeFile() function [#471]

Bubble

  • Supporting "native" modules
    • use ARM template as source for module (including template spec)
  • "external" modules [#660]
    • enough to figure out versioning story
    • enough to make sure this works with the eventual registry
    • I can do a simple VM deployment
    • I can privately share modules within my enterprise or as an ISV
    • how do we ensure pulling in "stuff" in bicep is unified?
    • stuff could be bicep modules, linter things, extensibility things
  • versioning story for type DLL
  • Navigation for modules
    • go to def
    • multi-file rename symbol
  • Easy "report error" button from within vs code
  • PROPOSAL FOR global variables
  • public information about available bicep types
    • we already have this, so we just would need to clean up a bit
  • validate types between modules better
  • segment completions for resource types
    • RP name -> resource type [-> child resource type] -> apiVersion
    • should still be able to do virma then get the list of apiVersions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment